diff --git a/tests/test_transform/test_fnirt.py b/tests/test_transform/test_fnirt.py
index eefc68b64e471dc052ff4fb92b637f56a599a8fa..27ceb40703e5e2506dffb762c59df562153feaf1 100644
--- a/tests/test_transform/test_fnirt.py
+++ b/tests/test_transform/test_fnirt.py
@@ -9,10 +9,13 @@ import os.path as op
 import itertools as it
 
 import numpy as np
+import nibabel as nib
 
 import pytest
 
 import fsl.data.image          as fslimage
+import fsl.utils.tempdir       as tempdir
+import fsl.data.constants      as constants
 import fsl.transform.affine    as affine
 import fsl.transform.nonlinear as nonlinear
 import fsl.transform.fnirt     as fnirt
@@ -51,6 +54,39 @@ def test_readFnirt():
     assert disp.refSpace == 'fsl'
 
 
+def test_readFnirt_defType_intent():
+    src  = op.join(datadir, 'src.nii.gz')
+    ref  = op.join(datadir, 'ref.nii.gz')
+    coef = op.join(datadir, 'coefficientfield.nii.gz')
+    disp = op.join(datadir, 'displacementfield.nii.gz')
+
+    src  = fslimage.Image(src)
+    ref  = fslimage.Image(ref)
+
+    field = fnirt.readFnirt(disp, src, ref, defType='absolute')
+    assert field.deformationType == 'absolute'
+    field = fnirt.readFnirt(disp, src, ref, defType='relative')
+    assert field.deformationType == 'relative'
+
+    img = nib.load(coef)
+    img.header['intent_code'] = 0
+    with tempdir.tempdir():
+        img.to_filename('field.nii.gz')
+
+        with pytest.raises(ValueError):
+            fnirt.readFnirt('field', src, ref)
+
+        field = fnirt.readFnirt(
+            'field', src, ref,
+            intent=constants.FSL_CUBIC_SPLINE_COEFFICIENTS)
+        assert isinstance(field, nonlinear.CoefficientField)
+
+        field = fnirt.readFnirt(
+            'field', src, ref,
+            intent=constants.FSL_FNIRT_DISPLACEMENT_FIELD)
+        assert isinstance(field, nonlinear.DeformationField)
+
+
 def test_toFnirt():
 
     def check(got, exp):