diff --git a/libasn1compiler/asn1c_constraint.c b/libasn1compiler/asn1c_constraint.c
index deeba8f..dcbd50b 100644
--- a/libasn1compiler/asn1c_constraint.c
+++ b/libasn1compiler/asn1c_constraint.c
@@ -152,7 +152,7 @@
 		}
 		if(ct->_compile_mark) {
 			if(got_something++) { OUT("\n"); OUT(" && "); }
-			OUT("check_permitted_alphabet_%d(sptr)",
+			OUT("!check_permitted_alphabet_%d(sptr)",
 				ct->_compile_mark);
 		}
 		if(!got_something) {
diff --git a/tests/19-param-OK.asn1.-P b/tests/19-param-OK.asn1.-P
index 17066a2..b98d1ed 100644
--- a/tests/19-param-OK.asn1.-P
+++ b/tests/19-param-OK.asn1.-P
@@ -266,7 +266,7 @@
 	}
 	
 	
-	if(check_permitted_alphabet_1(sptr)) {
+	if(!check_permitted_alphabet_1(sptr)) {
 		/* Constraint check succeeded */
 		return 0;
 	} else {
diff --git a/tests/50-constraint-OK.asn1.-P b/tests/50-constraint-OK.asn1.-P
index 6fca2aa..757b1d6 100644
--- a/tests/50-constraint-OK.asn1.-P
+++ b/tests/50-constraint-OK.asn1.-P
@@ -834,7 +834,7 @@
 	size = st->size;
 	
 	if(((size <= 20) || (size >= 25 && size <= 30))
-		 && check_permitted_alphabet_1(sptr)) {
+		 && !check_permitted_alphabet_1(sptr)) {
 		/* Constraint check succeeded */
 		return 0;
 	} else {
@@ -977,7 +977,7 @@
 	size = st->size;
 	
 	if(((size >= 10 && size <= 20) || (size >= 25 && size <= 27))
-		 && check_permitted_alphabet_2(sptr)) {
+		 && !check_permitted_alphabet_2(sptr)) {
 		/* Constraint check succeeded */
 		return 0;
 	} else {
@@ -1106,7 +1106,7 @@
 	}
 	
 	
-	if(check_permitted_alphabet_3(sptr)) {
+	if(!check_permitted_alphabet_3(sptr)) {
 		/* Constraint check succeeded */
 		return 0;
 	} else {
@@ -1235,7 +1235,7 @@
 	}
 	
 	
-	if(check_permitted_alphabet_4(sptr)) {
+	if(!check_permitted_alphabet_4(sptr)) {
 		/* Constraint check succeeded */
 		return 0;
 	} else {
@@ -1364,7 +1364,7 @@
 	}
 	
 	
-	if(check_permitted_alphabet_5(sptr)) {
+	if(!check_permitted_alphabet_5(sptr)) {
 		/* Constraint check succeeded */
 		return 0;
 	} else {
@@ -1722,7 +1722,7 @@
 	size = st->size;
 	
 	if((size >= 1 && size <= 4)
-		 && check_permitted_alphabet_6(sptr)) {
+		 && !check_permitted_alphabet_6(sptr)) {
 		/* Constraint check succeeded */
 		return 0;
 	} else {
@@ -1854,7 +1854,7 @@
 	size = st->size;
 	
 	if((size >= 1 && size <= 4)
-		 && check_permitted_alphabet_7(sptr)) {
+		 && !check_permitted_alphabet_7(sptr)) {
 		/* Constraint check succeeded */
 		return 0;
 	} else {
@@ -1983,7 +1983,7 @@
 	}
 	
 	
-	if(check_permitted_alphabet_8(sptr)) {
+	if(!check_permitted_alphabet_8(sptr)) {
 		/* Constraint check succeeded */
 		return 0;
 	} else {
@@ -2129,7 +2129,7 @@
 	if(size == (size_t)-1) return -1;
 	
 	if((size >= 1 && size <= 2)
-		 && check_permitted_alphabet_9(sptr)) {
+		 && !check_permitted_alphabet_9(sptr)) {
 		/* Constraint check succeeded */
 		return 0;
 	} else {
