diff -ur entityreference/entityreference.module entityreference.orig/entityreference.module
--- entityreference/entityreference.module	2012-09-20 09:12:33.113602006 +1000
+++ entityreference.orig/entityreference.module	2012-06-18 18:22:26.000000000 +1000
@@ -215,11 +215,6 @@
     }
   }
 
-  // Invoke the behaviors.
-  foreach (entityreference_get_behavior_handlers($field, $instance) as $handler) {
-    $handler->validate($entity_type, $entity, $field, $instance, $langcode, $items, $errors);
-  }
-
   if (!$ids) {
     return;
   }
@@ -235,6 +230,11 @@
       );
     }
   }
+
+  // Invoke the behaviors.
+  foreach (entityreference_get_behavior_handlers($field, $instance) as $handler) {
+    $handler->validate($entity_type, $entity, $field, $instance, $langcode, $items, $errors);
+  }
 }
 
 /**
