diff --git a/nomad/migration.py b/nomad/migration.py
index 0e383f103caf84de9ddd1ca2acee1335067db446..d9c240d0d9d15ec59ac352689c9ea4d0d36bf009 100644
--- a/nomad/migration.py
+++ b/nomad/migration.py
@@ -42,6 +42,7 @@ import shutil
 import random
 import io
 import json
+import re
 
 from nomad import utils, infrastructure, files, config, search, processing as proc
 from nomad.coe_repo import User, Calc, NoCalculation
@@ -69,6 +70,8 @@ default_uploader = dict(id=1)
 protected_uploads = ['ftp_upload_for_uid_125', 'ftp_upload_for_uid_290']
 """ Uploads that we will not delete existing extracted files for """
 
+replace_outcar_re = re.compile(r'OUTCAR$')
+
 
 def iterable_to_stream(iterable, buffer_size=io.DEFAULT_BUFFER_SIZE):
     """
@@ -1611,6 +1614,11 @@ class NomadCOEMigration:
                 source_calc, source_calc_with_metadata = source_calcs.get(
                     calc['mainfile'], (None, None))
 
+                if source_calc is None:
+                    alternative_mainfile = replace_outcar_re.sub(calc['mainfile'], 'vasprun.xml')
+                    source_calc, source_calc_with_metadata = source_calcs.get(
+                        alternative_mainfile, (None, None))
+
                 if source_calc is not None:
                     report.migrated_calcs += 1
 
diff --git a/nomad/parsing/__init__.py b/nomad/parsing/__init__.py
index c8444c130b106f1dda2fa50a7c16bfd1f823eb2d..e505fdfef725768f40a64fcbd9f26c5444987530 100644
--- a/nomad/parsing/__init__.py
+++ b/nomad/parsing/__init__.py
@@ -167,7 +167,7 @@ parsers = [
     LegacyParser(
         name='parsers/exciting', code_name='exciting',
         parser_class_name='excitingparser.ExcitingParser',
-        mainfile_name_re=r'^.*.OUT?',
+        mainfile_name_re=r'^.*.OUT\.[^/]*?',
         mainfile_contents_re=(r'EXCITING.*started')
     ),
     LegacyParser(
@@ -350,7 +350,8 @@ parsers = [
         name='parsers/siesta', code_name='Siesta',
         parser_class_name='siestaparser.SiestaParser',
         mainfile_contents_re=(
-            r'(Siesta Version: siesta-|SIESTA [0-9]\.[0-9]\.[0-9])')
+            r'(Siesta Version: siesta-|SIESTA [0-9]\.[0-9]\.[0-9])|'
+            r'(\*\s*WELCOME TO SIESTA\s*\*)')
     ),
     LegacyParser(
         name='parsers/elk', code_name='elk',