diff --git a/Lib/test/test_array.py b/Lib/test/test_array.py
index 0331280..c9b05c2 100755
--- a/Lib/test/test_array.py
+++ b/Lib/test/test_array.py
@@ -73,6 +73,13 @@
             b.byteswap()
             self.assertEqual(a, b)
 
+    def test_copy(self):
+        import copy
+        a = array.array(self.typecode, self.example)
+        b = copy.copy(a)
+        self.assertNotEqual(id(a), id(b))
+        self.assertEqual(a, b)
+
     def test_insert(self):
         a = array.array(self.typecode, self.example)
         a.insert(0, self.example[0])
diff --git a/Misc/NEWS b/Misc/NEWS
index 9c5d80a..350bf7e 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -180,6 +180,8 @@
 Extension modules
 -----------------
 
+- array objects now support the copy module
+
 - cStringIO.writelines() now accepts any iterable argument and writes
   the lines one at a time rather than joining them and writing once.
   Made a parallel change to StringIO.writelines().  Saves memory and
diff --git a/Modules/arraymodule.c b/Modules/arraymodule.c
index 9382927..bda5fef 100644
--- a/Modules/arraymodule.c
+++ b/Modules/arraymodule.c
@@ -617,6 +617,17 @@
 }
 
 static PyObject *
+array_copy(arrayobject *a, PyObject *unused)
+{
+	return array_slice(a, 0, a->ob_size);
+}
+
+PyDoc_STRVAR(copy_doc,
+"copy(array)\n\
+\n\
+ Return a copy of the array.");
+
+static PyObject *
 array_concat(arrayobject *a, PyObject *bb)
 {
 	int size;
@@ -1409,8 +1420,12 @@
 	 buffer_info_doc},
 	{"byteswap",	(PyCFunction)array_byteswap,	METH_NOARGS,
 	 byteswap_doc},
+	{"__copy__",	(PyCFunction)array_copy,	METH_NOARGS,
+	 copy_doc},
 	{"count",	(PyCFunction)array_count,	METH_O,
 	 count_doc},
+	{"__deepcopy__",(PyCFunction)array_copy,	METH_NOARGS,
+	 copy_doc},
 	{"extend",      (PyCFunction)array_extend,	METH_O,
 	 extend_doc},
 	{"fromfile",	(PyCFunction)array_fromfile,	METH_VARARGS,
