diff --git a/nibabel/nicom/dicomwrappers.py b/nibabel/nicom/dicomwrappers.py
index fc3fbe4905..194227c6cf 100755
--- a/nibabel/nicom/dicomwrappers.py
+++ b/nibabel/nicom/dicomwrappers.py
@@ -201,7 +201,7 @@ def voxel_sizes(self):
zs = self.get('SpacingBetweenSlices')
if zs is None:
zs = self.get('SliceThickness')
- if zs is None:
+ if zs is None or zs == '':
zs = 1
# Protect from python decimals in pydicom 0.9.7
zs = float(zs)
diff --git a/nibabel/nicom/tests/data/slicethickness_empty_string.dcm b/nibabel/nicom/tests/data/slicethickness_empty_string.dcm
new file mode 100644
index 0000000000..c2718cfdeb
Binary files /dev/null and b/nibabel/nicom/tests/data/slicethickness_empty_string.dcm differ
diff --git a/nibabel/nicom/tests/test_dicomwrappers.py b/nibabel/nicom/tests/test_dicomwrappers.py
index 7e611c569d..bea88936d3 100755
--- a/nibabel/nicom/tests/test_dicomwrappers.py
+++ b/nibabel/nicom/tests/test_dicomwrappers.py
@@ -35,6 +35,7 @@
DATA_FILE_SLC_NORM = pjoin(IO_DATA_PATH, 'csa_slice_norm.dcm')
DATA_FILE_DEC_RSCL = pjoin(IO_DATA_PATH, 'decimal_rescale.dcm')
DATA_FILE_4D = pjoin(IO_DATA_PATH, '4d_multiframe_test.dcm')
+DATA_FILE_EMPTY_ST = pjoin(IO_DATA_PATH, 'slicethickness_empty_string.dcm')
# This affine from our converted image was shown to match our image spatially
# with an image from SPM DICOM conversion. We checked the matching with SPM
@@ -616,6 +617,11 @@ def test_data_real(self):
assert_equal(sha1(dat_str).hexdigest(),
'149323269b0af92baa7508e19ca315240f77fa8c')
+ @dicom_test
+ def test_slicethickness_fallback(self):
+ dw = didw.wrapper_from_file(DATA_FILE_EMPTY_ST)
+ assert_equal(dw.voxel_sizes[2], 1.0)
+
@dicom_test
def test_data_fake(self):
# Test algorithm for get_data