diff --git a/Lib/test/test_re.py b/Lib/test/test_re.py
index a885180..f15ce09 100644
--- a/Lib/test/test_re.py
+++ b/Lib/test/test_re.py
@@ -604,6 +604,13 @@
         self.assertEqual(iter.next().span(), (4, 4))
         self.assertRaises(StopIteration, iter.next)
 
+    def test_empty_array(self):
+        # SF buf 1647541
+        import array
+        for typecode in 'cbBuhHiIlLfd':
+            a = array.array(typecode)
+            self.assertEqual(re.compile("bla").match(a), None)
+            self.assertEqual(re.compile("").match(a).groups(), ())            
 
 def run_re_tests():
     from test.re_tests import benchmarks, tests, SUCCEED, FAIL, SYNTAX_ERROR
diff --git a/Misc/NEWS b/Misc/NEWS
index 34d4d09..641e0b0 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -134,6 +134,8 @@
 Extension Modules
 -----------------
 
+- Bug #1647541: Array module's buffer interface can now handle empty arrays.
+
 - Bug #1693079: The array module can now successfully pickle empty arrays.
 
 - Bug #1688393: Prevent crash in socket.recvfrom if length is negative.
diff --git a/Modules/arraymodule.c b/Modules/arraymodule.c
index 0aeb64e..3ba5cf8 100644
--- a/Modules/arraymodule.c
+++ b/Modules/arraymodule.c
@@ -1745,6 +1745,8 @@
 	(objobjargproc)array_ass_subscr
 };
 
+static const void *emptybuf = "";
+
 static Py_ssize_t
 array_buffer_getreadbuf(arrayobject *self, Py_ssize_t index, const void **ptr)
 {
@@ -1754,6 +1756,8 @@
 		return -1;
 	}
 	*ptr = (void *)self->ob_item;
+	if (*ptr == NULL)
+		*ptr = emptybuf;
 	return self->ob_size*self->ob_descr->itemsize;
 }
 
@@ -1766,6 +1770,8 @@
 		return -1;
 	}
 	*ptr = (void *)self->ob_item;
+	if (*ptr == NULL)
+		*ptr = emptybuf;
 	return self->ob_size*self->ob_descr->itemsize;
 }
 
