diff --git a/fsl/data/mesh.py b/fsl/data/mesh.py
index edd16c3d74a6685bba7ea91a1b01e976d0d39c60..ce7094e58a9d683cfdd607d98211e2d246a91edf 100644
--- a/fsl/data/mesh.py
+++ b/fsl/data/mesh.py
@@ -243,7 +243,7 @@ def loadVTKPolydataFile(infile):
 def getFIRSTPrefix(modelfile):
     """If the given ``vtk`` file was generated by `FIRST
     <https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/FIRST>`_, this function
-    will return the file prefix. Otherwise an ``Exception`` will be
+    will return the file prefix. Otherwise a ``ValueError`` will be
     raised.
     """
 
@@ -268,8 +268,18 @@ def findReferenceImage(modelfile):
 
     try:
 
-        prefix = getFIRSTPrefix(modelfile)
-        return fslimage.addExt(prefix, mustExist=True)
-
+        dirname  = op.dirname(modelfile)
+        prefixes = [getFIRSTPrefix(modelfile)]
     except:
         return None
+
+    if prefixes[0].endswith('_first'):
+        prefixes.append(prefixes[0][:-6])
+
+    for p in prefixes:
+        try:
+            return fslimage.addExt(op.join(dirname, p), mustExist=True)
+        except:
+            continue
+
+    return None