diff --git a/src/lib-sieve-tool/mail-raw.c b/src/lib-sieve-tool/mail-raw.c
index 687e9be1573f6092662200c336deea15247e5299..40ec8abc3b63cf9aa197c5f606106b4abe7317f7 100644
--- a/src/lib-sieve-tool/mail-raw.c
+++ b/src/lib-sieve-tool/mail-raw.c
@@ -20,7 +20,6 @@
 #include "mail-raw.h"
 
 #include <stdio.h>
-#include <stdlib.h>
 #include <unistd.h>
 #include <fcntl.h>
 #include <pwd.h>
diff --git a/src/lib-sieve-tool/sieve-tool.c b/src/lib-sieve-tool/sieve-tool.c
index 5b48cfd0f8b7f9c910b82b028b609107bf680e3d..6968462d0c9dd82c12a5488602793fe40325b02a 100644
--- a/src/lib-sieve-tool/sieve-tool.c
+++ b/src/lib-sieve-tool/sieve-tool.c
@@ -24,7 +24,6 @@
 #include "sieve-tool.h"
 
 #include <stdio.h>
-#include <stdlib.h>
 #include <unistd.h>
 #include <fcntl.h>
 #include <pwd.h>
diff --git a/src/lib-sieve/plugins/include/ext-include-common.c b/src/lib-sieve/plugins/include/ext-include-common.c
index f6e10801779a45ec3c1d33efb9b5ef2ff13940b7..b50acd36ae5876f5fe5abf8182ecfdcbacba8b18 100644
--- a/src/lib-sieve/plugins/include/ext-include-common.c
+++ b/src/lib-sieve/plugins/include/ext-include-common.c
@@ -23,7 +23,6 @@
 #include "ext-include-binary.h"
 #include "ext-include-variables.h"
 
-#include <stdlib.h>
 
 /*
  * Forward declarations
diff --git a/src/lib-sieve/plugins/subaddress/ext-subaddress.c b/src/lib-sieve/plugins/subaddress/ext-subaddress.c
index e200aed11421197ca495cfb7aadac76512dd94d8..d550d7cd456d5566e3a1aa6bb68029c318edb73e 100644
--- a/src/lib-sieve/plugins/subaddress/ext-subaddress.c
+++ b/src/lib-sieve/plugins/subaddress/ext-subaddress.c
@@ -23,7 +23,6 @@
 #include "sieve-generator.h"
 #include "sieve-interpreter.h"
 
-#include <stdlib.h>
 #include <string.h>
 
 /*
diff --git a/src/lib-sieve/sieve-common.h b/src/lib-sieve/sieve-common.h
index c45cbad4c208f641fb503cf47515d1f633ca5d83..fe75e45ed4e3394a7bb3d99d337286ac58d84e4d 100644
--- a/src/lib-sieve/sieve-common.h
+++ b/src/lib-sieve/sieve-common.h
@@ -10,7 +10,6 @@
 #include "sieve-types.h"
 
 #include <sys/types.h>
-#include <stdlib.h>
 
 /*
  * Types
diff --git a/src/lib-sieve/sieve-error.c b/src/lib-sieve/sieve-error.c
index 671fa831ac10a276eb3ea22b61e877974e4a2735..6b6d391d9653c9300f6baeee92634f07956689dd 100644
--- a/src/lib-sieve/sieve-error.c
+++ b/src/lib-sieve/sieve-error.c
@@ -15,7 +15,6 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
-#include <stdlib.h>
 #include <unistd.h>
 #include <stdio.h>
 
diff --git a/src/lib-sieve/sieve-lexer.c b/src/lib-sieve/sieve-lexer.c
index c68499aea13674e4edecea78ec01951949e905a8..6a09d9021c53a90e09cb87bc75c891b6d140947e 100644
--- a/src/lib-sieve/sieve-lexer.c
+++ b/src/lib-sieve/sieve-lexer.c
@@ -18,7 +18,6 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
-#include <stdlib.h>
 #include <unistd.h>
 #include <ctype.h>
 
diff --git a/src/lib-sieve/sieve-settings.c b/src/lib-sieve/sieve-settings.c
index 4bc4d92ab6ea16abdff80283caae45a06e890f38..0997a2e72de79d7df3a3389b34a8ba7f29081481 100644
--- a/src/lib-sieve/sieve-settings.c
+++ b/src/lib-sieve/sieve-settings.c
@@ -8,7 +8,6 @@
 #include "sieve-error.h"
 #include "sieve-settings.h"
 
-#include <stdlib.h>
 #include <ctype.h>
 
 // FIXME: add to dovecot
diff --git a/src/lib-sieve/sieve.c b/src/lib-sieve/sieve.c
index c78175fda0a1d11e6faad7c45b49d0c6a965e960..765222783910fa6abc28ef741c68e67513eb82fe 100644
--- a/src/lib-sieve/sieve.c
+++ b/src/lib-sieve/sieve.c
@@ -32,7 +32,6 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
-#include <stdlib.h>
 #include <unistd.h>
 #include <stdio.h>
 #include <dirent.h>
diff --git a/src/lib-sieve/storage/file/sieve-file-script-sequence.c b/src/lib-sieve/storage/file/sieve-file-script-sequence.c
index 2cdb54f263e506493bc7b35dbc84dfe313960ff9..35e94a83ced2b1454ce7b6c4208f5ac44370ea48 100644
--- a/src/lib-sieve/storage/file/sieve-file-script-sequence.c
+++ b/src/lib-sieve/storage/file/sieve-file-script-sequence.c
@@ -12,7 +12,6 @@
 #include "sieve-file-storage.h"
 
 #include <stdio.h>
-#include <stdlib.h>
 #include <dirent.h>
 
 /*
diff --git a/src/lib-sieve/storage/file/sieve-file-script.c b/src/lib-sieve/storage/file/sieve-file-script.c
index 656bcb7acbb39e2413119b870e6d9a896da29f51..23d499a5c07f5db66f49df19a488f8cd15ef92e7 100644
--- a/src/lib-sieve/storage/file/sieve-file-script.c
+++ b/src/lib-sieve/storage/file/sieve-file-script.c
@@ -14,7 +14,6 @@
 #include "sieve-file-storage.h"
 
 #include <stdio.h>
-#include <stdlib.h>
 #include <unistd.h>
 #include <ctype.h>
 #include <time.h>
diff --git a/src/lib-sieve/storage/file/sieve-file-storage-list.c b/src/lib-sieve/storage/file/sieve-file-storage-list.c
index 6bbe2382ada59bb141b91a1fe2824b31faeba831..4d2a403fef15aac0b41934d872a49c5e15261ccd 100644
--- a/src/lib-sieve/storage/file/sieve-file-storage-list.c
+++ b/src/lib-sieve/storage/file/sieve-file-storage-list.c
@@ -10,7 +10,6 @@
 #include "sieve-file-storage.h"
 
 #include <stdio.h>
-#include <stdlib.h>
 #include <dirent.h>
 
 struct sieve_file_list_context {
diff --git a/src/lib-sieve/storage/file/sieve-file-storage-quota.c b/src/lib-sieve/storage/file/sieve-file-storage-quota.c
index 089300565ad3e696307092adbbae872b65d9e1f6..04d85820ed18baa892d6da4e3cbde64d9754e930 100644
--- a/src/lib-sieve/storage/file/sieve-file-storage-quota.c
+++ b/src/lib-sieve/storage/file/sieve-file-storage-quota.c
@@ -10,7 +10,6 @@
 #include "sieve-file-storage.h"
 
 #include <stdio.h>
-#include <stdlib.h>
 #include <dirent.h>
 #include <unistd.h>
 #include <fcntl.h>
diff --git a/src/lib-sieve/storage/file/sieve-file-storage-save.c b/src/lib-sieve/storage/file/sieve-file-storage-save.c
index 65ace98043f0ef755f086e93f953f8dd2a3730f9..b2f8b2ff408cdd8e6e8ae146fecdf13b7a1c0028 100644
--- a/src/lib-sieve/storage/file/sieve-file-storage-save.c
+++ b/src/lib-sieve/storage/file/sieve-file-storage-save.c
@@ -14,7 +14,6 @@
 #include "sieve-file-storage.h"
 
 #include <stdio.h>
-#include <stdlib.h>
 #include <unistd.h>
 #include <fcntl.h>
 #include <utime.h>
diff --git a/src/lib-sieve/storage/file/sieve-file-storage.c b/src/lib-sieve/storage/file/sieve-file-storage.c
index 4eb15457ba56c72388ef6edc4ea3a875c9de7597..81b2cb892ea1a60db90aad1254e95626cd14859d 100644
--- a/src/lib-sieve/storage/file/sieve-file-storage.c
+++ b/src/lib-sieve/storage/file/sieve-file-storage.c
@@ -21,7 +21,6 @@
 #include "sieve-file-storage.h"
 
 #include <stdio.h>
-#include <stdlib.h>
 #include <unistd.h>
 #include <ctype.h>
 #include <utime.h>
diff --git a/src/lib-sieve/storage/ldap/sieve-ldap-db.c b/src/lib-sieve/storage/ldap/sieve-ldap-db.c
index 04c9e9a96b5a3f2cd49cfd89b0a069a498feec4c..ba9c492af5dfdf4a250fdfc5e8cb6f3f67468c95 100644
--- a/src/lib-sieve/storage/ldap/sieve-ldap-db.c
+++ b/src/lib-sieve/storage/ldap/sieve-ldap-db.c
@@ -24,7 +24,6 @@
 #include "istream.h"
 
 #include <stddef.h>
-#include <stdlib.h>
 #include <unistd.h>
 
 struct db_ldap_result {
diff --git a/src/lib-sieve/util/realpath.c b/src/lib-sieve/util/realpath.c
index 6246776033e0c9693afd3c4ab8e45f952d20641f..6ed4da107076c3e7f94eb48b49d4210e27dccd7e 100644
--- a/src/lib-sieve/util/realpath.c
+++ b/src/lib-sieve/util/realpath.c
@@ -5,7 +5,6 @@
 
 #include "realpath.h"
 
-#include <stdlib.h>
 #include <unistd.h>
 #include <sys/types.h>
 #include <sys/stat.h>
diff --git a/src/managesieve-login/client-authenticate.c b/src/managesieve-login/client-authenticate.c
index 38e152d8ed64a37ffd00f4a965a585288ccc450d..577533c104c70505e14fc66f0784394a015f2a3a 100644
--- a/src/managesieve-login/client-authenticate.c
+++ b/src/managesieve-login/client-authenticate.c
@@ -19,7 +19,6 @@
 #include "client-authenticate.h"
 #include "managesieve-proxy.h"
 
-#include <stdlib.h>
 
 const char *client_authenticate_get_capabilities
 (struct client *client)
diff --git a/src/managesieve-login/client.c b/src/managesieve-login/client.c
index c8df513477d053819baf3e6ca1ed00e68f9d4970..5d025a152d8703705934a6cce7eb822df5571135 100644
--- a/src/managesieve-login/client.c
+++ b/src/managesieve-login/client.c
@@ -23,7 +23,6 @@
 #include "managesieve-login-settings.h"
 #include "managesieve-proxy.h"
 
-#include <stdlib.h>
 
 /* Disconnect client when it sends too many bad commands */
 #define CLIENT_MAX_BAD_COMMANDS 3
diff --git a/src/managesieve-login/managesieve-login-settings-plugin.c b/src/managesieve-login/managesieve-login-settings-plugin.c
index 9579f3df6f3c9f0802aa3c41b89d1ad4d6abd41c..b1745244e6b727146e73466e3983aaa25ad70cf2 100644
--- a/src/managesieve-login/managesieve-login-settings-plugin.c
+++ b/src/managesieve-login/managesieve-login-settings-plugin.c
@@ -16,7 +16,6 @@
 #include <unistd.h>
 #include <sys/wait.h>
 #include <sysexits.h>
-#include <stdlib.h>
 
 typedef enum { CAP_SIEVE, CAP_NOTIFY } capability_type_t;
 
diff --git a/src/managesieve/cmd-noop.c b/src/managesieve/cmd-noop.c
index 5ee37c6c0db986e5378ea73bd3d5d1419c61c81c..0fbd2ecc1148bced4d186857ee1bd553972d9bc2 100644
--- a/src/managesieve/cmd-noop.c
+++ b/src/managesieve/cmd-noop.c
@@ -9,7 +9,6 @@
 #include "managesieve-common.h"
 #include "managesieve-commands.h"
 
-#include <stdlib.h>
 
 bool cmd_noop(struct client_command_context *cmd)
 {
diff --git a/src/managesieve/main.c b/src/managesieve/main.c
index 1dde3659f37bbe0b97c36ad10922aeff31151fda..0828cf40ca2a9901eb705525411a373e12b243b1 100644
--- a/src/managesieve/main.c
+++ b/src/managesieve/main.c
@@ -24,7 +24,6 @@
 #include "managesieve-capabilities.h"
 
 #include <stdio.h>
-#include <stdlib.h>
 #include <unistd.h>
 
 #define IS_STANDALONE() \
diff --git a/src/managesieve/managesieve-client.c b/src/managesieve/managesieve-client.c
index 4932800834d4fce226813b6f49a126dc0c834347..d5f3c1e696d9675cfeb01bf740ac517cf7edf567 100644
--- a/src/managesieve/managesieve-client.c
+++ b/src/managesieve/managesieve-client.c
@@ -23,7 +23,6 @@
 #include "managesieve-commands.h"
 #include "managesieve-client.h"
 
-#include <stdlib.h>
 #include <unistd.h>
 
 extern struct mail_storage_callbacks mail_storage_callbacks;
diff --git a/src/managesieve/managesieve-commands.c b/src/managesieve/managesieve-commands.c
index 87d65069bd0b20c39ef33cab1ea1030f220cf587..b134852329b2a4e47dc4809c2f6ae997ebf7db74 100644
--- a/src/managesieve/managesieve-commands.c
+++ b/src/managesieve/managesieve-commands.c
@@ -7,7 +7,6 @@
 #include "managesieve-common.h"
 #include "managesieve-commands.h"
 
-#include <stdlib.h>
 
 /* Might want to combine this somewhere in a commands-common.c
  * to avoid duplicate code
diff --git a/src/managesieve/managesieve-settings.c b/src/managesieve/managesieve-settings.c
index d24d5597058ea32cbace9c93933f91f4352fb199..092737074ff13b47d3900dbe78b8e9cf8e241eb0 100644
--- a/src/managesieve/managesieve-settings.c
+++ b/src/managesieve/managesieve-settings.c
@@ -12,7 +12,6 @@
 #include "managesieve-settings.h"
 
 #include <stddef.h>
-#include <stdlib.h>
 #include <unistd.h>
 
 static bool managesieve_settings_verify(void *_set, pool_t pool,
diff --git a/src/plugins/lda-sieve/lda-sieve-plugin.c b/src/plugins/lda-sieve/lda-sieve-plugin.c
index c5aa43117b583a59d42f9f1e62babd1dfd37b6ab..e9ecaa9ed6cb99b83b86ca89242d44bbb7ad08bb 100644
--- a/src/plugins/lda-sieve/lda-sieve-plugin.c
+++ b/src/plugins/lda-sieve/lda-sieve-plugin.c
@@ -20,7 +20,6 @@
 #include "lda-sieve-log.h"
 #include "lda-sieve-plugin.h"
 
-#include <stdlib.h>
 #include <sys/stat.h>
 #include <dirent.h>
 
diff --git a/src/plugins/sieve-extprograms/sieve-extprograms-common.c b/src/plugins/sieve-extprograms/sieve-extprograms-common.c
index cf52b80a93e8585e9e19a7adef318e311fc04552..deed367f983204bb88ca771b4c5460867afd5c1a 100644
--- a/src/plugins/sieve-extprograms/sieve-extprograms-common.c
+++ b/src/plugins/sieve-extprograms/sieve-extprograms-common.c
@@ -36,7 +36,6 @@
 
 #include "sieve-extprograms-common.h"
 
-#include <stdlib.h>
 #include <unistd.h>
 #include <sys/types.h>
 #include <sys/wait.h>
diff --git a/src/sieve-tools/sieve-dump.c b/src/sieve-tools/sieve-dump.c
index 03682453483568b305bf41bb458142931a725143..66978bc80251ea62b19cd44804259f9e177dac4e 100644
--- a/src/sieve-tools/sieve-dump.c
+++ b/src/sieve-tools/sieve-dump.c
@@ -16,7 +16,6 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
-#include <stdlib.h>
 #include <unistd.h>
 #include <stdio.h>
 #include <sysexits.h>
diff --git a/src/sieve-tools/sieve-filter.c b/src/sieve-tools/sieve-filter.c
index 9790966820a1f590d1c977cceaa771b0a4e517d1..daf23a8196724dd3710a00a4ff683a4ca800ad08 100644
--- a/src/sieve-tools/sieve-filter.c
+++ b/src/sieve-tools/sieve-filter.c
@@ -21,7 +21,6 @@
 #include "sieve-tool.h"
 
 #include <stdio.h>
-#include <stdlib.h>
 #include <unistd.h>
 #include <fcntl.h>
 #include <pwd.h>
diff --git a/src/sieve-tools/sieve-test.c b/src/sieve-tools/sieve-test.c
index bfe1bf04cc9e6c64470486eae0229187c15aa78b..906264e487064015bd3ece5d5010d205359a0523 100644
--- a/src/sieve-tools/sieve-test.c
+++ b/src/sieve-tools/sieve-test.c
@@ -21,7 +21,6 @@
 #include "sieve-tool.h"
 
 #include <stdio.h>
-#include <stdlib.h>
 #include <unistd.h>
 #include <fcntl.h>
 #include <pwd.h>
diff --git a/src/sieve-tools/sievec.c b/src/sieve-tools/sievec.c
index 9828bc4b0d8939ca055807cb27873c2a3d7a64b3..69d968eaa4af11c570873a2e3c91b1d03c038fac 100644
--- a/src/sieve-tools/sievec.c
+++ b/src/sieve-tools/sievec.c
@@ -17,7 +17,6 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
-#include <stdlib.h>
 #include <unistd.h>
 #include <stdio.h>
 #include <dirent.h>
diff --git a/src/testsuite/testsuite-common.c b/src/testsuite/testsuite-common.c
index 00e71930192fd1d1e2b7da342968bf38f9a8864c..7be40df8b02d364c99310e6d09cdb4b459a5a8c8 100644
--- a/src/testsuite/testsuite-common.c
+++ b/src/testsuite/testsuite-common.c
@@ -33,7 +33,6 @@
 #include "testsuite-result.h"
 #include "testsuite-smtp.h"
 
-#include <stdlib.h>
 #include <string.h>
 #include <fcntl.h>
 #include <unistd.h>
diff --git a/src/testsuite/testsuite.c b/src/testsuite/testsuite.c
index 8c44b520e451e8ce7ee6cb5df2308fb715a126e8..38786b8cf90349a62b7b60e7b31ce2be7d8ef650 100644
--- a/src/testsuite/testsuite.c
+++ b/src/testsuite/testsuite.c
@@ -27,7 +27,6 @@
 #include "testsuite-mailstore.h"
 
 #include <stdio.h>
-#include <stdlib.h>
 #include <unistd.h>
 #include <fcntl.h>
 #include <pwd.h>