diff --git a/fsl/fsleyes/overlay.py b/fsl/fsleyes/overlay.py
index 0dbe9ef6c4583ca096d55bd1921363df13a130c7..053bb0d9c5f1cb88666719cfe7d080cee94f42a5 100644
--- a/fsl/fsleyes/overlay.py
+++ b/fsl/fsleyes/overlay.py
@@ -202,28 +202,22 @@ def guessDataSourceType(path):
     if path.endswith('.vtk'):
         return fslmodel.Model, path
 
-
+    # Analysis directory?
     if op.isdir(path):
         if melresults.isMelodicDir(path):
             return fslmelimage.MelodicImage, path
 
-        if featresults.isFEATDir(path):
+        elif featresults.isFEATDir(path):
             return fslfeatimage.FEATImage, path
 
-    elif melresults.isMelodicImage(path):
-        return fslmelimage.MelodicImage, path
-    
-    elif featresults.isFEATImage(path):
-        return fslfeatimage.FEATImage, path
-
-    # A regular NIFTI image?
-    try:
-        path = fslimage.addExt(path, mustExist=True)
-        return fslimage.Image, path
-    
-    except ValueError:
-        pass
+    # Assume it's a NIFTI image
+    try:               path = fslimage.addExt(path, mustExist=True)
+    except ValueError: return None, path
 
+    if   melresults.isMelodicImage(path): return fslmelimage.MelodicImage, path
+    elif featresults.isFEATImage(  path): return fslfeatimage.FEATImage,   path
+    else:                                 return fslimage.Image,           path
+        
     # Otherwise, I don't
     # know what to do
     return None, path