diff --git a/libasn1fix/asn1fix_constraint.c b/libasn1fix/asn1fix_constraint.c
index 847bdce..97fa589 100644
--- a/libasn1fix/asn1fix_constraint.c
+++ b/libasn1fix/asn1fix_constraint.c
@@ -4,6 +4,7 @@
 
 static void _remove_extensions(arg_t *arg, asn1p_constraint_t *ct, int flast);
 static int constraint_type_resolve(arg_t *arg, asn1p_constraint_t *ct);
+static int constraint_object_resolve(arg_t *arg, asn1p_value_t *value);
 static int constraint_value_resolve(arg_t *arg, asn1p_value_t **value, enum asn1p_constraint_type_e real_ctype);
 
 int
@@ -214,6 +215,10 @@
 			&ct->range_stop, real_constraint_type);
 		RET2RVAL(ret, rvalue);
 	}
+	if (ct->value && ct->value->type == ATV_UNPARSED && etype == A1TC_CLASSDEF) {
+		ret = constraint_object_resolve(arg, ct->value);
+		RET2RVAL(ret, rvalue);
+	}
 
 	/*
 	 * Proceed recursively.
@@ -346,3 +351,24 @@
 	return rvalue;
 }
 
+static int
+constraint_object_resolve(arg_t *arg, asn1p_value_t *value) {
+	asn1p_expr_t tmp_expr = *arg->expr;
+	asn1p_expr_t *saved_expr = arg->expr;
+
+	tmp_expr.meta_type = AMT_VALUE;
+	tmp_expr.expr_type = A1TC_REFERENCE;
+	tmp_expr.value = value;
+	arg->expr = &tmp_expr;
+
+	if (asn1f_check_class_object(arg)) {
+		arg->expr = saved_expr;
+		FATAL("Parsing ObjectSet %s failed at %d", arg->expr->Identifier,
+				arg->expr->_lineno);
+		return -1;
+	}
+
+	arg->expr = saved_expr;
+	return 0;
+}
+
