diff --git a/Doc/lib/libarray.tex b/Doc/lib/libarray.tex
index a590ed9..6ec056f 100644
--- a/Doc/lib/libarray.tex
+++ b/Doc/lib/libarray.tex
@@ -145,7 +145,8 @@
 
 \begin{methoddesc}[array]{insert}{i, x}
 Insert a new item with value \var{x} in the array before position
-\var{i}.
+\var{i}. Negative values are treated as being relative to the end
+of the array.
 \end{methoddesc}
 
 \begin{methoddesc}[array]{pop}{\optional{i}}
diff --git a/Lib/test/test_array.py b/Lib/test/test_array.py
index 7a3308b..98589a5 100755
--- a/Lib/test/test_array.py
+++ b/Lib/test/test_array.py
@@ -82,6 +82,30 @@
         self.assertRaises(TypeError, a.insert, None)
         self.assertRaises(TypeError, a.insert, 0, None)
 
+        a = array.array(self.typecode, self.example)
+        a.insert(-1, self.example[0])
+        self.assertEqual(
+            a,
+            array.array(
+                self.typecode,
+                self.example[:-1] + self.example[:1] + self.example[-1:]
+            )
+        )
+
+        a = array.array(self.typecode, self.example)
+        a.insert(-1000, self.example[0])
+        self.assertEqual(
+            a,
+            array.array(self.typecode, self.example[:1] + self.example)
+        )
+
+        a = array.array(self.typecode, self.example)
+        a.insert(1000, self.example[0])
+        self.assertEqual(
+            a,
+            array.array(self.typecode, self.example + self.example[:1])
+        )
+
     def test_tofromfile(self):
         a = array.array(self.typecode, 2*self.example)
         self.assertRaises(TypeError, a.tofile)
diff --git a/Misc/NEWS b/Misc/NEWS
index 02f845d..3a819b8 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -26,6 +26,9 @@
 Extension modules
 -----------------
 
+- array.array.insert() now treats negative indices as being relative
+  to the end of the array, just like list.insert() does. (SF bug #739313)
+
 - The datetime module classes datetime, time, and timedelta are now
   properly subclassable.
 
diff --git a/Modules/arraymodule.c b/Modules/arraymodule.c
index c03160e..dcb66cf 100644
--- a/Modules/arraymodule.c
+++ b/Modules/arraymodule.c
@@ -470,8 +470,11 @@
 		PyErr_NoMemory();
 		return -1;
 	}
-	if (where < 0)
-		where = 0;
+	if (where < 0) {
+		where += self->ob_size;
+		if (where < 0)
+			where = 0;
+	}
 	if (where > self->ob_size)
 		where = self->ob_size;
 	memmove(items + (where+1)*self->ob_descr->itemsize,
