diff --git a/scipy/fftpack/tests/test_basic.py b/scipy/fftpack/tests/test_basic.py
index f73fab220..3b79d975c 100644
--- a/scipy/fftpack/tests/test_basic.py
+++ b/scipy/fftpack/tests/test_basic.py
@@ -862,9 +862,9 @@ class TestOverwrite(object):
         for fake in [lambda x: x, FakeArray, FakeArray2]:
             routine(fake(x2), fftsize, axis, overwrite_x=overwrite_x)
 
-            sig = "%s(%s%r, %r, axis=%r, overwrite_x=%r)" % (
-                routine.__name__, x.dtype, x.shape, fftsize, axis, overwrite_x)
             if not should_overwrite:
+                sig = "%s(%s%r, %r, axis=%r, overwrite_x=%r)" % (
+                    routine.__name__, x.dtype, x.shape, fftsize, axis, overwrite_x)
                 assert_equal(x2, x, err_msg="spurious overwrite in %s" % sig)
 
     def _check_1d(self, routine, dtype, shape, axis, overwritable_dtypes,
@@ -879,9 +879,8 @@ class TestOverwrite(object):
         should_overwrite = (overwrite_x
                             and dtype in overwritable_dtypes
                             and fftsize <= shape[axis]
-                            and (len(shape) == 1 or
-                                 (axis % len(shape) == len(shape)-1
-                                  and fftsize == shape[axis])))
+                            and (len(shape) == 1 or len(shape) == 2 or
+                                  (axis % len(shape) in [0, len(shape)-1])))
         self._check(data, routine, fftsize, axis,
                     overwrite_x=overwrite_x,
                     should_overwrite=should_overwrite)
@@ -936,9 +935,9 @@ class TestOverwrite(object):
 
         for fftshape in fftshape_iter(part_shape):
             should_overwrite = (overwrite_x
-                                and data.ndim == 1
-                                and np.all([x < y for x, y in zip(fftshape,
-                                                                  part_shape)])
+#                                and data.ndim == 1
+#                                and np.all([x <= y for x, y in zip(fftshape,
+#                                                                   part_shape)])
                                 and dtype in overwritable_dtypes)
             self._check(data, routine, fftshape, axes,
                         overwrite_x=overwrite_x,
@@ -947,7 +946,7 @@ class TestOverwrite(object):
                 # check fortran order: it never overwrites
                 self._check(data.T, routine, fftshape, axes,
                             overwrite_x=overwrite_x,
-                            should_overwrite=False)
+                            should_overwrite=should_overwrite)
 
     @pytest.mark.parametrize('dtype', dtypes)
     @pytest.mark.parametrize('overwrite_x', [True, False])
