diff --git a/libasn1compiler/asn1c_misc.c b/libasn1compiler/asn1c_misc.c
index 976306a..0f66147 100644
--- a/libasn1compiler/asn1c_misc.c
+++ b/libasn1compiler/asn1c_misc.c
@@ -195,16 +195,21 @@
 			 * This is a reference to a type defined in a class.
 			 * Resolve it and use instead.
 			 */
-			tmp.expr = asn1f_class_access_ex(arg->asn,
-				arg->expr->module, arg->expr, expr->rhs_pspecs, expr->reference);
-			if(!tmp.expr) return NULL;
+            tmp.expr = WITH_MODULE_NAMESPACE(
+                arg->expr->module, expr_ns,
+                asn1f_class_access_ex(arg->asn, arg->expr->module, expr_ns,
+                                      arg->expr, expr->rhs_pspecs,
+                                      expr->reference));
+            if(!tmp.expr) return NULL;
 
 			return asn1c_type_name(&tmp, tmp.expr, _format);
 		}
 
-		terminal = asn1f_find_terminal_type_ex(arg->asn, expr);
+        terminal = WITH_MODULE_NAMESPACE(
+            expr->module, expr_ns,
+            asn1f_find_terminal_type_ex(arg->asn, expr_ns, expr));
 
-		if(_format == TNF_RSAFE) {
+        if(_format == TNF_RSAFE) {
 			if(terminal && terminal->expr_type & ASN_CONSTR_MASK) {
 				typename = terminal->Identifier;
 			}
@@ -327,8 +332,10 @@
 #define	LEFTMIN		(-RIGHTMAX-1)	/* of 32-bit integer type */
 
 	/* Descend to the terminal type */
-	expr = asn1f_find_terminal_type_ex(arg->asn, expr);
-	if(expr == 0) return FL_NOTFIT;
+    expr = WITH_MODULE_NAMESPACE(
+        expr->module, expr_ns,
+        asn1f_find_terminal_type_ex(arg->asn, expr_ns, expr));
+    if(expr == 0) return FL_NOTFIT;
 
 	/* The "fits into long" operation is relevant only for integer types */
 	switch(expr->expr_type) {
