Index: branches/cname-collision/DNSDB.pm
===================================================================
--- branches/cname-collision/DNSDB.pm	(revision 941)
+++ branches/cname-collision/DNSDB.pm	(revision 942)
@@ -740,9 +740,9 @@
 	unless $args{addr} && !$args{addr}->{isv6};
 
-return ('FAIL', $errstr) unless $self->_cname_collision(%args);
-
     # coerce IP/value to normalized form for storage
     ${$args{val}} = $args{addr}->addr;
   }
+
+  return ('FAIL', $errstr) unless $self->_cname_collision(%args);
 
   return ('OK','OK');
@@ -798,4 +798,6 @@
     }    
   }
+
+  return ('FAIL', $errstr) unless $self->_cname_collision(%args);
 
   return ('OK','OK');
@@ -1007,4 +1009,6 @@
   }
 
+  return ('FAIL', $errstr) unless $self->_cname_collision(%args);
+
   return ('WARN',$warnflag) if $warnflag;
 
@@ -1062,4 +1066,6 @@
 
   }
+
+  return ('FAIL', $errstr) unless $self->_cname_collision(%args);
 
   return ('OK','OK');
@@ -1092,4 +1098,6 @@
       ${$args{val}} =~ /\.arpa$/;
   }
+
+  return ('FAIL', $errstr) unless $self->_cname_collision(%args);
 
   # Could arguably put a WARN return here on very long (>512) records
