standard modules are being picked up

diff --git a/libasn1print/asn1print.c b/libasn1print/asn1print.c
index cb1445b..83c31a1 100644
--- a/libasn1print/asn1print.c
+++ b/libasn1print/asn1print.c
@@ -45,6 +45,8 @@
 		printf("<!-- XML DTD generated by asn1c-" VERSION " -->\n\n");
 
 	TQ_FOR(mod, &(asn->modules), mod_next) {
+		if(mod->_tags & MT_STANDARD_MODULE)
+			return 0; /* Ignore modules imported from skeletons */
 		if(modno++) printf("\n");
 		asn1print_module(asn, mod, flags);
 	}
@@ -62,9 +64,6 @@
 asn1print_module(asn1p_t *asn, asn1p_module_t *mod, enum asn1print_flags flags) {
 	asn1p_expr_t *tc;
 
-	if(mod->_tags & MT_STANDARD_MODULE)
-		return 0;	/* Ignore modules imported from skeletons */
-
 	if(flags & APF_PRINT_XML_DTD)
 		printf("<!-- ASN.1 module\n");