diff --git a/includes/migration.inc b/includes/migration.inc
index 55ce387..4d2aab1 100644
--- a/includes/migration.inc
+++ b/includes/migration.inc
@@ -1070,13 +1070,6 @@ abstract class Migration extends MigrationBase {
           $destination_values = explode($separator, $destination_values);
         }
 
-        // If a source migration is supplied, use the current value for this field
-        // to look up a destination ID from the provided migration
-        $source_migration = $mapping->getSourceMigration();
-        if ($source_migration && isset($destination_values)) {
-          $destination_values = $this->handleSourceMigration($source_migration, $destination_values, $default, $this);
-        }
-
         // Call any designated callbacks
         $callbacks = $mapping->getCallbacks();
         foreach ($callbacks as $callback) {
@@ -1085,6 +1078,13 @@ abstract class Migration extends MigrationBase {
           }
         }
 
+        // If a source migration is supplied, use the current value for this field
+        // to look up a destination ID from the provided migration
+        $source_migration = $mapping->getSourceMigration();
+        if ($source_migration && isset($destination_values)) {
+          $destination_values = $this->handleSourceMigration($source_migration, $destination_values, $default, $this);
+        }
+
         // If specified, assure a unique value for this property.
         $dedupe = $mapping->getDedupe();
         if ($dedupe && isset($destination_values)) {
