diff --git a/fsl/utils/assertions.py b/fsl/utils/assertions.py
index b8e5a43b5dfb7a80c7151cf1f51243e1d2ecbad0..63b004d1f5c065b3f692663cb937662f31043adf 100644
--- a/fsl/utils/assertions.py
+++ b/fsl/utils/assertions.py
@@ -39,14 +39,17 @@ _DISABLE_ASSERTIONS = False
 
 
 @contextlib.contextmanager
-def disabled():
+def disabled(disable=True):
     """Context manager which allows assertion checks to be temporarily
     disabled.
+
+    :arg disable: Set to ``True`` (the default) to disable assertions,
+                  or ``False`` to enable them.
     """
     global _DISABLE_ASSERTIONS
 
     oldval              = _DISABLE_ASSERTIONS
-    _DISABLE_ASSERTIONS = True
+    _DISABLE_ASSERTIONS = disable
 
     try:
         yield
diff --git a/fsl/wrappers/wrapperutils.py b/fsl/wrappers/wrapperutils.py
index 51f269bcbdf3f700c17145b14cf3a5aa67dbf246..ff6fcc06d5c66d2a18cfeb50986fd0f560e41384 100644
--- a/fsl/wrappers/wrapperutils.py
+++ b/fsl/wrappers/wrapperutils.py
@@ -108,10 +108,11 @@ import            six
 import nibabel as nib
 import numpy   as np
 
-import fsl.utils.run     as run
-import fsl.utils.path    as fslpath
-import fsl.utils.tempdir as tempdir
-import fsl.data.image    as fslimage
+import fsl.utils.run        as run
+import fsl.utils.assertions as asrt
+import fsl.utils.path       as fslpath
+import fsl.utils.tempdir    as tempdir
+import fsl.data.image       as fslimage
 
 
 log = logging.getLogger(__name__)
@@ -185,7 +186,14 @@ def genxwrapper(func, runner):
         submit   = kwargs.pop('submit',   None)
         cmdonly  = kwargs.pop('cmdonly',  False)
         log      = kwargs.pop('log',      {'tee' : True})
-        cmd      = func(*args, **kwargs)
+
+        # many wrapper functions use fsl.utils.assertions
+        # statements to check that input arguments are
+        # valid. Disable these if the cmdonly argument is
+        # being used to generate a command without running
+        # it.
+        with asrt.disabled(cmdonly):
+            cmd = func(*args, **kwargs)
 
         return runner(cmd,
                       stderr=stderr,