diff --git a/src/epics/util/fmseq.pl b/src/epics/util/fmseq.pl
index 14f873f29cf37cea31344ef70073e33a0c8cf2b5..4ed301f7744ea1cb04340492f38ebcb6fb0bb86a 100755
--- a/src/epics/util/fmseq.pl
+++ b/src/epics/util/fmseq.pl
@@ -103,7 +103,7 @@ sub is_top_name {
 };
 
 # Transform record name for exculsion of sys/subsystem parts
-# This function replaces first underscode with the hyphen
+# This function replaces first underscore with the hyphen
 sub top_name_transform {
    ($name) =  @_;
    $name =~ s/_/-/;
@@ -761,7 +761,12 @@ while (<IN>) {
     next unless length $nr[0];
     $nr[1] = $gds_datarate unless defined $nr[1];
     die "Invalid DAQ channel $nr[0] rate $nr[1]; system rate is $gds_datarate" if $nr[1] > $gds_datarate;
-    $nr[0] = "$site:$systems[0]$nr[0]";
+    if (is_top_name($nr[0])) {
+    	$nr[0] = "$site:" . top_name_transform($nr[0]);
+    } else {
+    	$nr[0] = "$site:$systems[0]$nr[0]";
+    }
+
     $DAQ_Channels{$nr[0]} = $nr[1];
     #print $nr[0], " ", $nr[1], "\n";
 }
diff --git a/src/epics/util/lib/Tree.pm b/src/epics/util/lib/Tree.pm
index c1abf6d373fefb3a9f013d4afb66cf2e9dd3c613..480bd640f1362288a119151719967d9a93faac2b 100644
--- a/src/epics/util/lib/Tree.pm
+++ b/src/epics/util/lib/Tree.pm
@@ -107,26 +107,18 @@ sub find_node {
 sub find_daq_annotation {
 	my($tree) = @_;
 	if ($tree->{NAME} eq "Annotation" && ${$tree->{FIELDS}}{Name} =~ /^#\s*[dD][aA][qQ]\s+[cC]hannels/) {
-		return ($tree, "", 0);
+		return ($tree, "");
 	} else {
 		for (@{$tree->{NEXT}}) {
 			#print "Recursing into ", $_->{NAME}, " ", ${$_->{FIELDS}}{"Name"}, "\n";
-                	($res, $prefix, $tn) = find_daq_annotation($_);
+                	($res, $prefix) = find_daq_annotation($_);
 			if ($res) {
 				#print $tree->{NAME}, " ", ${$tree->{FIELDS}}{"Name"}, " ", ${$tree->{FIELDS}}{"Type"}, "\n";
 				# Annotate the prefix if this is block
-				if (!$tn) {
-				  if ($tree->{NAME} eq "Block") {
-				    # Stop annotating if top_names tag encountered
-				    if (${$tree->{FIELDS}}{Tag} eq "top_names") {
-				  	#print "top_names ", ${$tree->{FIELDS}}{"Name"}, "\n";
-					$tn = 1;
-				    } else {
-				  	$prefix = ${$tree->{FIELDS}}{"Name"}. "_" .$prefix;
-				    }
-				  }
+				if ($tree->{NAME} eq "Block") {
+				  $prefix = ${$tree->{FIELDS}}{"Name"}. "_" .$prefix;
 				}
-				return ($res, $prefix, $tn);
+				return ($res, $prefix);
 			}
         	}
 	}