diff --git a/libasn1fix/asn1fix_constr.c b/libasn1fix/asn1fix_constr.c
index 794845b7378c756a7dffa834fa5e05febd1a7835..e16c9e041098029418c2b21436d1c0355e3c9d9d 100644
--- a/libasn1fix/asn1fix_constr.c
+++ b/libasn1fix/asn1fix_constr.c
@@ -62,7 +62,11 @@ asn1f_pull_components_of(arg_t *arg) {
 		coft = asn1p_expr_clone(terminal, 1 /* Skip extensions */);
 		if(!coft) return -1;	/* ENOMEM */
 
-		asn1p_expr_free(memb);	/* Don't need it anymore*/
+		if(0) {
+			asn1p_expr_free(memb);	/* Don't need it anymore*/
+		} else {
+			/* Actual removal clashes with constraints... skip. */
+		}
 
 		/*
 		 * Move all components of the cloned structure