dst_file_path = os.path.join(dst_dir, src_file_name)
 
         if not os.path.exists(dst_file_path):
-            alt_dst_dir = misc.find_file(self._base_dst_dir,
-                                         src_file_name,
-                                         os.path.getsize(src_file_path),
-                                         exclude_dir=self._base_src_dir)
+            alt_dst_dir = misc.find_alt_file(self._base_dst_dir,
+                                             src_file_name,
+                                             os.path.getsize(src_file_path),
+                                             meta_time,
+                                             exclude_dir=self._base_src_dir)
             if alt_dst_dir:
                 dst_dir = alt_dst_dir
                 dst_file_path = os.path.join(dst_dir, src_file_name)
 
     elif is_media_file(file_path, types=['video']):
         return _extract_video_timestamp(file_path)
 
-def find_file(dir_path, file_name, file_size, exclude_dir):
-    for root, dirs, files in os.walk(dir_path):
+def find_alt_file(base_dir, name, size, meta_time, exclude_dir):
+    for root, dirs, files in os.walk(base_dir):
         if root.startswith(exclude_dir):
             continue
-        for f in files:
-            if f == file_name:
-                full_path = os.path.join(root, f)
-                if os.path.getsize(full_path) == file_size:
-                    return root
+        for alt_name in files:
+            if alt_name == name:
+                full_path = os.path.join(root, alt_name)
+                if os.path.getsize(full_path) == size:
+                    alt_meta_time = extract_meta_time(full_path)
+                    if meta_time == alt_meta_time:
+                        return root
     return None
 
 def import_file(src_file_path, dst_file_path):