diff --git a/PC/_msi.c b/PC/_msi.c
index 6a99b40..86a5943 100644
--- a/PC/_msi.c
+++ b/PC/_msi.c
@@ -243,8 +243,13 @@
     for (i=0; i < PyList_GET_SIZE(files); i++) {
         PyObject *item = PyList_GET_ITEM(files, i);
         char *filename, *cabname;
-        if (!PyArg_ParseTuple(item, "ss", &filename, &cabname))
-            goto err;
+
+        if (!PyArg_ParseTuple(item, "ss", &filename, &cabname)) {
+            PyErr_SetString(PyExc_TypeError, "FCICreate expects a list of tuples containing two strings");
+            FCIDestroy(hfci);
+            return NULL;
+        }
+
         if (!FCIAddFile(hfci, filename, cabname, FALSE,
             cb_getnextcabinet, cb_status, cb_getopeninfo,
             tcompTYPE_MSZIP))
@@ -260,7 +265,11 @@
     Py_INCREF(Py_None);
     return Py_None;
 err:
-    PyErr_Format(PyExc_ValueError, "FCI error %d", erf.erfOper); /* XXX better error type */
+    if(erf.fError)
+        PyErr_Format(PyExc_ValueError, "FCI error %d", erf.erfOper); /* XXX better error type */
+    else
+        PyErr_SetString(PyExc_ValueError, "FCI general error");
+
     FCIDestroy(hfci);
     return NULL;
 }
