diff --git a/fsl/scripts/imglob.py b/fsl/scripts/imglob.py
index 9aafce906aab832d8fe43a8d249d12614aac67dd..8c8c631e2719166c429bc9d80d5b925a063b3b33 100644
--- a/fsl/scripts/imglob.py
+++ b/fsl/scripts/imglob.py
@@ -10,14 +10,10 @@ NIFTI/ANALYZE image files.
 
 
 import                   sys
-import                   warnings
+import                   glob
+import itertools      as it
 import fsl.utils.path as fslpath
 
-# See atlasq.py for explanation
-with warnings.catch_warnings():
-    warnings.filterwarnings("ignore", category=FutureWarning)
-    import fsl.data.image as fslimage
-
 
 usage = """
 Usage: imglob [-extension/extensions] <list of names>
@@ -25,8 +21,17 @@ Usage: imglob [-extension/extensions] <list of names>
        -extensions for image list with full extensions
 """.strip()
 
-exts   = fslimage.ALLOWED_EXTENSIONS
-groups = fslimage.FILE_GROUPS
+
+# The lists below are defined in the
+# fsl.data.image class, but are duplicated
+# here for performance (to avoid import of
+# nibabel/numpy/etc).
+exts   = ['.nii.gz', '.nii', '.img', '.hdr', '.img.gz', '.hdr.gz']
+"""List of supported image file extensions. """
+
+
+groups = [('.hdr',    '.img'), ('.hdr.gz', '.img.gz')]
+"""List of known image file groups (image/header file pairs). """
 
 
 def imglob(paths, output=None):
@@ -76,8 +81,10 @@ def imglob(paths, output=None):
     # hdr and img and otherwise) that match
     for path in paths:
         try:
-            path = fslimage.removeExt(path)
-            imgfiles.extend(fslimage.addExt(path, unambiguous=False))
+            path = fslpath.removeExt(path, allowedExts=exts)
+            imgfiles.extend(fslpath.addExt(path,
+                                           allowedExts=exts,
+                                           unambiguous=False))
         except fslpath.PathError:
             continue
 
diff --git a/fsl/utils/path.py b/fsl/utils/path.py
index 09546f4b2cdf2660e234e49a7b09814232fac83e..bbaaa206f8c995181b139b3d668e0d201d331964 100644
--- a/fsl/utils/path.py
+++ b/fsl/utils/path.py
@@ -37,8 +37,6 @@ import            re
 
 from typing import Sequence, Tuple, Union
 
-from fsl.utils.platform import platform
-
 
 PathLike = Union[str, pathlib.Path]
 
@@ -596,6 +594,7 @@ def winpath(path):
     This requires WSL2 which supports the ``\\wsl$\\`` network path.
     wslpath is assumed to be an absolute path.
     """
+    from fsl.utils.platform import platform  # pylint: disable=import-outside-toplevel  # noqa: E501
     if not platform.fslwsl:
         return path
     else: