diff --git a/tests/test_fsl_utils_path.py b/tests/test_fsl_utils_path.py
index d577739df5d44218190bae9788a5019600e330e3..fb20befe393e3c7b3e94177e2f2ac3910c65cda6 100644
--- a/tests/test_fsl_utils_path.py
+++ b/tests/test_fsl_utils_path.py
@@ -18,6 +18,11 @@ import fsl.utils.path as fslpath
 import fsl.data.image as fslimage
 
 
+real_print = print
+def print(*a, **kwa):
+    pass
+
+
 def make_dummy_file(path):
     with open(path, 'wt') as f:
         f.write('{}\n'.format(op.basename(path))) 
diff --git a/tests/test_imagewrapper.py b/tests/test_imagewrapper.py
index bdc950579d3b9219c1c32b0597db577535d0b541..49bdaa27486228749a146950283cbc012d4225d3 100644
--- a/tests/test_imagewrapper.py
+++ b/tests/test_imagewrapper.py
@@ -18,15 +18,7 @@ import fsl.data.image        as image
 import fsl.data.imagewrapper as imagewrap
 
 
-
-import logging
-logging.basicConfig(level=logging.DEBUG)
-logging.getLogger('fsl').setLevel(logging.WARNING)
-log = logging.getLogger()
-
-
 real_print = print
-
 def print(*args, **kwargs):
     pass
 
@@ -614,7 +606,6 @@ def test_ImageWrapper_write_out(niters, seed):
         applyCoverage(wrapper, cov)
         clo, chi = wrapper.dataRange
 
-        log.debug('{:3d} / {:3d}'.format(loop, niters))
         loop += 1
 
         # Now, we'll simulate some writes
@@ -718,7 +709,7 @@ def test_ImageWrapper_write_out(niters, seed):
             # print('--------------')
 
             
-def test_ImageWrapper_write_in_overlap(niters):
+def test_ImageWrapper_write_in_overlap(niters, seed):
 
     # Generate a bunch of random coverages
     for _ in range(niters):
@@ -741,6 +732,10 @@ def test_ImageWrapper_write_in_overlap(niters):
         # Generate a random coverage
         cov = random_coverage(shape, vol_limit=1)
 
+        print('Shape:    {}'.format(shape))
+        print('Coverage: {}'.format(cov))
+        print('Data:     {}'.format(data))
+        
         # Now, we'll simulate some writes
         # which are contained within, or
         # overlap with, the initial coverage
@@ -778,6 +773,9 @@ def test_ImageWrapper_write_in_overlap(niters):
                 rlo = rfloat(data.min() - 100, data.max() + 100)
                 rhi = rfloat(rlo,              data.max() + 100)
 
+                if np.prod(sliceshape) == 1:
+                    rhi = rlo
+
                 img     = nib.Nifti1Image(np.copy(data), np.eye(4))
                 wrapper = imagewrap.ImageWrapper(img)
                 applyCoverage(wrapper, cov)
@@ -785,7 +783,7 @@ def test_ImageWrapper_write_in_overlap(niters):
                 newData = np.linspace(rlo, rhi, np.prod(sliceshape))
                 newData = newData.reshape(sliceshape)
 
-
+                print('New data shape: {}'.format(newData))
                 print('Old range:      {} - {}'.format(*wrapper.dataRange))
 
                 wrapper[tuple(sliceobjs)] = newData
@@ -795,6 +793,8 @@ def test_ImageWrapper_write_in_overlap(niters):
 
                 print('Expected range: {} - {}'.format(rlo,   rhi))
                 print('New range:      {} - {}'.format(newLo, newHi))
+                print('Data min/max:   {} - {}'.format(img.get_data()[tuple(sliceobjs)].min(),
+                                                       img.get_data()[tuple(sliceobjs)].max()))
 
                 assert np.all(newCov == expCov)
 
@@ -802,7 +802,7 @@ def test_ImageWrapper_write_in_overlap(niters):
                 assert np.isclose(newHi, rhi)
 
             
-def test_ImageWrapper_write_different_volume(niters):
+def test_ImageWrapper_write_different_volume(niters, seed):
 
     for _ in range(niters):
 
@@ -853,7 +853,7 @@ def test_ImageWrapper_write_different_volume(niters):
 
             # Generate a slice, making
             # sure that the slice covers
-            # at least two elements
+            # at least one element
             while True:
                 slices = random_slices(fullcov,
                                        shape,
@@ -925,15 +925,26 @@ def test_ImageWrapper_write_different_volume(niters):
                 wrapper = imagewrap.ImageWrapper(img)
                 applyCoverage(wrapper, cov)
 
+                oldLo, oldHi = wrapper.dataRange
+
+
                 newData = np.linspace(rlo, rhi, np.prod(sliceshape))
                 newData = newData.reshape(sliceshape)
 
+                if np.prod(sliceshape) == 1:
+                    ehi = max(newData.max(), oldHi) 
+
                 wrapper[tuple(sliceobjs)] = newData
 
                 newLo, newHi = wrapper.dataRange
 
                 for vol in range(nvols):
                     np.all(wrapper.coverage(vol) == expCov[..., vol])
+
+                print('Old range:      {} - {}'.format(oldLo, oldHi))
+                print('Newdata range:  {} - {}'.format(newData.min(), newData.max()))
+                print('Expected range: {} - {}'.format(elo,   ehi))
+                print('New range:      {} - {}'.format(newLo, newHi))
                     
                 assert np.isclose(newLo, elo)
                 assert np.isclose(newHi, ehi)
diff --git a/tests/test_immv_imcp.py b/tests/test_immv_imcp.py
index 73e6fb29fef2e76d1d085dfe8097d1ea7ff64d92..414f58c52294c8bdf56d052bf2723b5abe750e34 100644
--- a/tests/test_immv_imcp.py
+++ b/tests/test_immv_imcp.py
@@ -24,6 +24,10 @@ import fsl.scripts.imcp as imcp_script
 import fsl.scripts.immv as immv_script
 import fsl.data.image   as fslimage
 
+real_print = print
+def print(*a, **kwa):
+    pass
+
 
 def createImageFile(filename):