diff --git a/src/testsuite/testsuite-settings.c b/src/testsuite/testsuite-settings.c
index a1b6b5c6ca85982d1861176af32c27bfe31fed38..025b4dbdb56ca62b8c4e4715cce0c9dbd458596e 100644
--- a/src/testsuite/testsuite-settings.c
+++ b/src/testsuite/testsuite-settings.c
@@ -2,9 +2,6 @@
  */
 
 #include "lib.h"
-#include "hash.h"
-#include "imem.h"
-#include "strfuncs.h"
 #include "settings.h"
 #include "mail-user.h"
 
@@ -16,49 +13,21 @@
 #include "testsuite-mailstore.h"
 #include "testsuite-settings.h"
 
-struct testsuite_setting {
-	char *identifier;
-	char *value;
-};
-
-static HASH_TABLE(const char *, struct testsuite_setting *) settings;
-
 static const char *
 testsuite_setting_get(struct sieve_instance *svinst, void *context,
 		      const char *identifier);
 
 void testsuite_settings_init(void)
 {
-	hash_table_create(&settings, default_pool, 0, str_hash, strcmp);
-
 	sieve_tool_set_setting_callback(sieve_tool,
 					testsuite_setting_get, NULL);
 }
 
-void testsuite_settings_deinit(void)
-{
-	struct hash_iterate_context *itx =
-		hash_table_iterate_init(settings);
-	const char *key;
-	struct testsuite_setting *setting;
-
-	while (hash_table_iterate(itx, settings, &key, &setting)) {
-		i_free(setting->identifier);
-		i_free(setting->value);
-		i_free(setting);
-	}
-
-	hash_table_iterate_deinit(&itx);
-
-	hash_table_destroy(&settings);
-}
-
 static const char *
 testsuite_setting_get(struct sieve_instance *svinst, void *context ATTR_UNUSED,
 		      const char *identifier)
 {
 	const struct sieve_settings *svset = svinst->set;
-	struct testsuite_setting *setting;
 	struct mail_user *user;
 
 	if (strcmp(identifier, "sieve_max_script_size") == 0)
@@ -78,10 +47,6 @@ testsuite_setting_get(struct sieve_instance *svinst, void *context ATTR_UNUSED,
 	else if (strcmp(identifier, "sieve_user_email") == 0)
 		return svset->user_email;
 
-	setting = hash_table_lookup(settings, identifier);
-	if (setting != NULL)
-		return setting->value;
-
 	user = testsuite_mailstore_get_user();
 	if (user == NULL)
 		return NULL;
@@ -92,51 +57,28 @@ void testsuite_setting_set(const char *identifier, const char *value)
 {
 	struct sieve_instance *svinst = testsuite_sieve_instance;
 
-	if (svinst != NULL) {
-		struct settings_root *set_root;
-
-		set_root = settings_root_find(svinst->event);
-		settings_root_override_remove(set_root, identifier,
-					      SETTINGS_OVERRIDE_TYPE_CODE);
-		settings_root_override(set_root, identifier, value,
-				       SETTINGS_OVERRIDE_TYPE_CODE);
-	}
-
-	struct testsuite_setting *setting =
-		hash_table_lookup(settings, identifier);
-
-	if (setting != NULL) {
-		i_free(setting->value);
-		setting->value = i_strdup(value);
-	} else {
-		setting = i_new(struct testsuite_setting, 1);
-		setting->identifier = i_strdup(identifier);
-		setting->value = i_strdup(value);
-
-		hash_table_insert(settings, identifier, setting);
-	}
+	if (svinst == NULL)
+		return;
+
+	struct settings_root *set_root;
+
+	set_root = settings_root_find(svinst->event);
+	settings_root_override_remove(set_root, identifier,
+				      SETTINGS_OVERRIDE_TYPE_CODE);
+	settings_root_override(set_root, identifier, value,
+			       SETTINGS_OVERRIDE_TYPE_CODE);
 }
 
 void testsuite_setting_unset(const char *identifier)
 {
 	struct sieve_instance *svinst = testsuite_sieve_instance;
 
-	if (svinst != NULL) {
-		struct settings_root *set_root;
-
-		set_root = settings_root_find(svinst->event);
-		settings_root_override_remove(set_root, identifier,
-					      SETTINGS_OVERRIDE_TYPE_CODE);
-	}
-
-	struct testsuite_setting *setting =
-		hash_table_lookup(settings, identifier);
+	if (svinst == NULL)
+		return;
 
-	if (setting != NULL) {
-		i_free(setting->identifier);
-		i_free(setting->value);
-		i_free(setting);
+	struct settings_root *set_root;
 
-		hash_table_remove(settings, identifier);
-	}
+	set_root = settings_root_find(svinst->event);
+	settings_root_override_remove(set_root, identifier,
+				      SETTINGS_OVERRIDE_TYPE_CODE);
 }
diff --git a/src/testsuite/testsuite-settings.h b/src/testsuite/testsuite-settings.h
index b84e62095371944cb74f7a92e6ca1a3854a6bab6..1a205ce6b95a3ffaf354e2c3578e7473b0b8f12e 100644
--- a/src/testsuite/testsuite-settings.h
+++ b/src/testsuite/testsuite-settings.h
@@ -4,7 +4,6 @@
 #include "sieve-common.h"
 
 void testsuite_settings_init(void);
-void testsuite_settings_deinit(void);
 
 void testsuite_setting_set(const char *identifier, const char *value);
 void testsuite_setting_unset(const char *identifier);
diff --git a/src/testsuite/testsuite.c b/src/testsuite/testsuite.c
index d556297eec71478fd843296f0e6698e2d367bd7b..5e3ad78ecb695c56c188aa3b5bb04f11e102f150 100644
--- a/src/testsuite/testsuite.c
+++ b/src/testsuite/testsuite.c
@@ -309,7 +309,6 @@ int main(int argc, char **argv)
 
 	/* De-initialize testsuite */
 	testsuite_deinit();
-	testsuite_settings_deinit();
 
 	sieve_tool_deinit(&sieve_tool);