diff --git a/examples/crfc2asn1.pl b/examples/crfc2asn1.pl
index 3e68c5d..df0a099 100755
--- a/examples/crfc2asn1.pl
+++ b/examples/crfc2asn1.pl
@@ -11,6 +11,7 @@
 
 my $inasn = 0;	# Are we inside ASN.1 grammar?
 my $found = 0;
+my $currentFname = '';
 
 if(-t STDIN && $#ARGV == -1) {
 	print STDERR "Rip ASN.1 specification from RFC file\n";
@@ -35,6 +36,8 @@
 		if(/^[ \t]*END[ \t]*$/) {
 			print STDERR
 			"Missed an ASN.1 grammar before line ". $. ."?\n";
+			unlink($currentFile) or die "Can't remove $!";
+			print STDERR "Removed $currentFile";
 			exit(1);
 		}
 
@@ -42,12 +45,10 @@
 		$rfcid = $1 . '-' if($ARGV =~ /([a-z0-9]+)/i);
 
 		if(/^[ \t]+([A-Za-z0-9-]+).*DEFINITIONS.*::=/) {
-			my $fname = $rfcid . $1 . ".asn1";
-			open(O, "> $fname") or die "Can't open $fname";
-			select(O);
+			$currentFname = $rfcid . $1 . ".asn1";
 			$inasn = 1;
 		} elsif(/^[ \t]*([A-Za-z0-9-]+).*{.*iso/) {
-			my $fname = $rfcid . $1 . ".asn1";
+			$currentFname = $rfcid . $1 . ".asn1";
 			my @a = ($_);
 			my $i;
 			for($i = 0; $i < 8; $i++) {
@@ -60,27 +61,53 @@
 				}
 			}
 			next unless $inasn;
-			open(O, "> $fname") or die "Can't open $fname";
-			select(O);
 		} else {
 			next;
 		}
 
+		print STDERR "Found $1 at line $. => $currentFname\n";
+		open(O, "> $currentFname") or die "Can't open $currentFname";
+		select(O);
+
 		$found++;
 		print "\n";
 		print "-- \n";
-		print "-- ASN.1 module found in $ARGV by $0 at " . $. . "\n";
+		print "-- ASN.1 module found by $0 in $ARGV at line " . $. . "\n";
 		print "-- \n";
 		print "\n";
 	}
 
-	print;
-
 	if(/^[ \t]*END[ \t]*$/) {
+		print;
 		select(STDOUT);
 		close(O);
 		$inasn = 0;
+		next;
 	}
+
+	#
+	# The following clauses are primarily designed to make
+	# asn1c command-line easier (i.e., to avoid "-ftypes88").
+	# You may want to get rid of them if you're doing generic
+	# ASN.1 extraction and do not want to alter the ASN.1 specs.
+	#
+	if(
+/^(.*)((UniversalString|BMPString|UTF8String)\s+::=\s+\[[A-Z]+\s\d+\]\sIMPLICIT\sOCTET\sSTRING)(.*)$/ms
+	) {
+		print "\n-- Legacy redefinition of $3 removed by $0:\n";
+		print "$1-- $2 -- $4";
+		next;
+	} elsif(/delete following line if \"new\" types are supported/) {
+		print;
+		print "/* Legacy stuff deleted by $0:\n";
+		$_ = <>;
+		print;
+		print " */\n";
+		next;
+	}
+ 
+
+	print;	# Dump the ASN.1 module line out.
 }
 
-die "No ASN.1 specifications found\n" unless $found;
+die "No ASN.1 modules found\n" unless $found;
