diff --git a/src/lib-sieve/sieve-extensions.c b/src/lib-sieve/sieve-extensions.c
index f8c68c2a7f974096d4a787ccc5a2df7cce33731a..b1fe9476823174b4eea94e42bc1f0a7fd870a64d 100644
--- a/src/lib-sieve/sieve-extensions.c
+++ b/src/lib-sieve/sieve-extensions.c
@@ -528,7 +528,7 @@ void sieve_extensions_set_string
 
 			/* Perform actual activation/deactivation */
 
-			if ( exts[i].enabled && *(exts[i].def->name) != '@' ) {
+			if ( exts[i].id >= 0 && *(exts[i].def->name) != '@' ) {
 				if ( disabled && !exts[i].required )
 					sieve_extension_disable(&exts[i]);
 				else