diff --git a/lib/tasks/gitlab/db/migration_squash.rake b/lib/tasks/gitlab/db/migration_squash.rake
index 7ddd6c41d121950098765ed87d493ad1e12e18f3..fb2a270e23419a2b79fcaf878920684beb77e156 100644
--- a/lib/tasks/gitlab/db/migration_squash.rake
+++ b/lib/tasks/gitlab/db/migration_squash.rake
@@ -13,12 +13,9 @@ namespace :gitlab do
 
       new_init_structure_sql = git.show(args[:version], 'db/structure.sql')
       # Delete relevant migrations and specs
-      squasher.files_to_delete.each do |filename|
-        git.remove filename
-        puts "\tDeleting #{filename} from repo".red
-      rescue Git::GitExecuteError
-        puts "#{filename} is not in the current branch"
-      end
+      files_to_delete = squasher.files_to_delete.filter { |f| File.exist?(f) }
+      puts "\tDeleting #{files_to_delete.length} files."
+      git.remove files_to_delete
       puts "\tOverwriting init_structure.sql..."
       File.write('db/init_structure.sql', new_init_structure_sql)
       git.add('db/init_structure.sql')