diff --git a/patsy/highlevel.py b/patsy/highlevel.py
index 78d2942..298739d 100644
--- a/patsy/highlevel.py
+++ b/patsy/highlevel.py
@@ -178,7 +178,7 @@ def _do_highlevel_design(formula_like, data, eval_env,
         else:
             # subok=True is necessary here to allow DesignMatrixes to pass
             # through
-            (lhs, rhs) = (None, asarray_or_pandas(formula_like, subok=True))
+            (lhs, rhs) = (None, asarray_or_pandas(formula_like, subok=True, copy=None))
         # some sort of explicit matrix or matrices were given. Currently we
         # have them in one of these forms:
         #   -- an ndarray or subclass
diff --git a/patsy/state.py b/patsy/state.py
index 933c588..c489a4b 100644
--- a/patsy/state.py
+++ b/patsy/state.py
@@ -103,7 +103,7 @@ class Center(object):
         pass
 
     def transform(self, x):
-        x = asarray_or_pandas(x)
+        x = asarray_or_pandas(x, copy=None)
         # This doesn't copy data unless our input is a DataFrame that has
         # heterogeneous types. And in that case we're going to be munging the
         # types anyway, so copying isn't a big deal.
diff --git a/patsy/util.py b/patsy/util.py
index 3116e11..7ac6f79 100644
--- a/patsy/util.py
+++ b/patsy/util.py
@@ -69,7 +69,7 @@ def asarray_or_pandas(a, copy=False, dtype=None, subok=False):
 
 def test_asarray_or_pandas():
     import warnings
-    assert type(asarray_or_pandas([1, 2, 3])) is np.ndarray
+    assert type(asarray_or_pandas([1, 2, 3], copy=True)) is np.ndarray
     with warnings.catch_warnings() as w:
         warnings.filterwarnings('ignore', 'the matrix subclass',
                                 PendingDeprecationWarning)
@@ -83,9 +83,9 @@ def test_asarray_or_pandas():
     assert np.array_equal(a, a_copy)
     a_copy[0] = 100
     assert not np.array_equal(a, a_copy)
-    assert np.allclose(asarray_or_pandas([1, 2, 3], dtype=float),
+    assert np.allclose(asarray_or_pandas([1, 2, 3], dtype=float, copy=None),
                        [1.0, 2.0, 3.0])
-    assert asarray_or_pandas([1, 2, 3], dtype=float).dtype == np.dtype(float)
+    assert asarray_or_pandas([1, 2, 3], dtype=float, copy=None).dtype == np.dtype(float)
     a_view = asarray_or_pandas(a, dtype=a.dtype)
     a_view[0] = 99
     assert a[0] == 99
