diff --git a/fsl/data/atlases.py b/fsl/data/atlases.py
index b4148551cc69893c1fb58359ab6e7a29ef1ec337..ecb5f0af560888b6773c204a0110f5add78538b2 100644
--- a/fsl/data/atlases.py
+++ b/fsl/data/atlases.py
@@ -296,7 +296,7 @@ class AtlasDescription(object):
             imagefile        = op.join(ATLAS_DIR, '.' + imagefile)
             summaryimagefile = op.join(ATLAS_DIR, '.' + summaryimagefile)
 
-            i = fslimage.Image(imagefile, loadData=False)
+            i = fslimage.Image(imagefile, loadData=False, calcRange=False)
 
             self.images       .append(imagefile)
             self.summaryImages.append(summaryimagefile)
@@ -425,7 +425,7 @@ class LabelAtlas(Atlas):
            voxelLoc[2] >= self.shape[2]:
             return np.nan        
         
-        val = self.data[voxelLoc[0], voxelLoc[1], voxelLoc[2]]
+        val = self[voxelLoc[0], voxelLoc[1], voxelLoc[2]]
 
         if self.desc.atlasType == 'label':
             return val
@@ -473,7 +473,7 @@ class ProbabilisticAtlas(Atlas):
            voxelLoc[2] >= self.shape[2]:
             return []
         
-        return self.data[voxelLoc[0], voxelLoc[1], voxelLoc[2], :]
+        return self[voxelLoc[0], voxelLoc[1], voxelLoc[2], :]
 
 
 
diff --git a/fsl/data/featimage.py b/fsl/data/featimage.py
index 40cffe7e05d2f3126c69ae0e19df830ba0953c57..2f650c8b6206f09a258a1cd35a4ea6dbff434bdb 100644
--- a/fsl/data/featimage.py
+++ b/fsl/data/featimage.py
@@ -313,12 +313,12 @@ class FEATImage(fslimage.Image):
             raise ValueError('Contrast is wrong length')
         
         X        = self.__design.getDesign(xyz)
-        data     = self.data[x, y, z, :]
+        data     = self[x, y, z, :]
         modelfit = np.zeros(len(data))
 
         for i in range(numEVs):
 
-            pe        = self.getPE(i).data[x, y, z]
+            pe        = self.getPE(i)[x, y, z]
             modelfit += X[:, i] * pe * contrast[i]
 
         return modelfit + data.mean()
@@ -332,7 +332,7 @@ class FEATImage(fslimage.Image):
         """
 
         x, y, z   = xyz
-        residuals = self.getResiduals().data[x, y, z, :]
+        residuals = self.getResiduals()[x, y, z, :]
         modelfit  = self.fit(contrast, xyz, fullmodel)
 
         return residuals + modelfit
diff --git a/fsl/data/image.py b/fsl/data/image.py
index 8bdde463f2e789e17f44b09ccbb719c57dcc9a9b..8847799e1dfaf8503e0efe057d2255a99a05e97e 100644
--- a/fsl/data/image.py
+++ b/fsl/data/image.py
@@ -374,9 +374,10 @@ class Image(Nifti1, notifier.Notifier):
                         :meth:`loadData` method. 
 
         :arg calcRange: If ``True`` (the default), the image range is
-                        calculated immediately (vi a call to :meth:`calcRange`).
-                        Otherwise, the image range is incrementally updated as
-                        more data is read from memory or disk.
+                        calculated immediately (vi a call to
+                        :meth:`calcRange`). Otherwise, the image range is
+                        incrementally updated as more data is read from memory
+                        or disk.
         """
 
         import nibabel as nib
diff --git a/fsl/data/imagewrapper.py b/fsl/data/imagewrapper.py
index a666b51ccd517591ca29e30cb6b97ef2dbd20a27..962a50898329c739418c247934f886b38216cc54 100644
--- a/fsl/data/imagewrapper.py
+++ b/fsl/data/imagewrapper.py
@@ -194,8 +194,8 @@ class ImageWrapper(notifier.Notifier):
                       self.__range[1],
                       self.__sliceCoverage))
 
-        dmin = np.nanmin(data)
-        dmax = np.nanmax(data)
+        dmin = float(np.nanmin(data))
+        dmax = float(np.nanmax(data))
 
         if oldmin is None: oldmin = dmin
         if oldmax is None: oldmax = dmax
diff --git a/fsl/data/melodicanalysis.py b/fsl/data/melodicanalysis.py
index 29a75aeb1aac14790ada6887e2bf9256491ddab4..9de847d439741b64a980bf34355dcca1693bdbfe 100644
--- a/fsl/data/melodicanalysis.py
+++ b/fsl/data/melodicanalysis.py
@@ -33,8 +33,6 @@ import logging
 import os.path as op
 import numpy   as np
 
-import props
-
 import fsl.utils.path        as fslpath
 import fsl.data.image        as fslimage
 import fsl.data.featanalysis as featanalysis
@@ -159,7 +157,7 @@ def getNumComponents(meldir):
     contained in the given directrory.
     """
 
-    icImg = fslimage.Image(getICFile(meldir), loadData=False)
+    icImg = fslimage.Image(getICFile(meldir), loadData=False, calcRange=False)
     return icImg.shape[3]
 
 
diff --git a/fsl/data/melodicimage.py b/fsl/data/melodicimage.py
index 9f5729a71d497fb80a676331eb4c210818e6dafb..85f7f46116fcdb223be59136ce9ee6753f58cdfd 100644
--- a/fsl/data/melodicimage.py
+++ b/fsl/data/melodicimage.py
@@ -79,7 +79,9 @@ class MelodicImage(fslimage.Image):
         dataFile = self.getDataFile()
 
         if dataFile is not None: 
-            dataImage = fslimage.Image(dataFile, loadData=False)
+            dataImage = fslimage.Image(dataFile,
+                                       loadData=False,
+                                       calcRange=False)
             if dataImage.is4DImage():
                 self.tr = dataImage.pixdim[3]
 
diff --git a/fsl/data/tensorimage.py b/fsl/data/tensorimage.py
index 86ae221cb496c91a0fb8ec36c14f97a76578e321..2587cc18929e49aff413721166a37f28b5845e77 100644
--- a/fsl/data/tensorimage.py
+++ b/fsl/data/tensorimage.py
@@ -125,7 +125,9 @@ class TensorImage(fslimage.Nifti1):
         else:
             paths = path
 
-        fslimage.Nifti1.__init__(self, paths['l1'], loadData=False)
+        fslimage.Nifti1.__init__(self, paths['l1'],
+                                 loadData=False,
+                                 calcRange=False)
 
         self.__v1 = fslimage.Image(paths['v1'])
         self.__v2 = fslimage.Image(paths['v2'])