diff --git a/Modules/arraymodule.c b/Modules/arraymodule.c
index 204c8d3..c03160e 100644
--- a/Modules/arraymodule.c
+++ b/Modules/arraymodule.c
@@ -1732,7 +1732,7 @@
 		return NULL;
 
 	if (!(initial == NULL || PyList_Check(initial)
-	      || PyString_Check(initial)
+	      || PyString_Check(initial) || PyTuple_Check(initial)
 	      || (c == 'u' && PyUnicode_Check(initial)))) {
 		PyErr_SetString(PyExc_TypeError,
 		    "array initializer must be list or string");
@@ -1742,10 +1742,12 @@
 		if (descr->typecode == c) {
 			PyObject *a;
 			int len;
-			if (initial == NULL || !PyList_Check(initial))
+
+			if (initial == NULL || !(PyList_Check(initial) 
+				|| PyTuple_Check(initial)))
 				len = 0;
 			else
-				len = PyList_Size(initial);
+				len = PySequence_Size(initial);
 
 			a = newarrayobject(type, len, descr);
 			if (a == NULL)
@@ -1755,7 +1757,7 @@
 				int i;
 				for (i = 0; i < len; i++) {
 					PyObject *v =
-					        PyList_GetItem(initial, i);
+					        PySequence_GetItem(initial, i);
 					if (setarrayitem(a, i, v) != 0) {
 						Py_DECREF(a);
 						return NULL;
