diff --git a/src/testdir/test87.in b/src/testdir/test87.in
index 89b0ecb..0ee6df3 100644
--- a/src/testdir/test87.in
+++ b/src/testdir/test87.in
@@ -829,6 +829,10 @@
 :fun D()
 :endfun
 py3 << EOF
+import re
+
+py33_type_error_pattern = re.compile('^__call__\(\) takes (\d+) positional argument but (\d+) were given$')
+
 def ee(expr, g=globals(), l=locals()):
     try:
         try:
@@ -836,6 +840,15 @@
         except Exception as e:
             if sys.version_info >= (3, 3) and e.__class__ is AttributeError and str(e).find('has no attribute')>=0 and not str(e).startswith("'vim."):
                 cb.append(expr + ':' + repr((e.__class__, AttributeError(str(e)[str(e).rfind(" '") + 2:-1]))))
+            elif sys.version_info >= (3, 3) and e.__class__ is ImportError and str(e).find('No module named \'') >= 0:
+                cb.append(expr + ':' + repr((e.__class__, ImportError(str(e).replace("'", '')))))
+            elif sys.version_info >= (3, 3) and e.__class__ is TypeError:
+                m = py33_type_error_pattern.search(str(e))
+                if m:
+                    msg = '__call__() takes exactly {0} positional argument ({1} given)'.format(m.group(1), m.group(2))
+                    cb.append(expr + ':' + repr((e.__class__, TypeError(msg))))
+                else:
+                    cb.append(expr + ':' + repr((e.__class__, e)))
             else:
                 cb.append(expr + ':' + repr((e.__class__, e)))
         else:
diff --git a/src/version.c b/src/version.c
index 9a9a39d..0a18630 100644
--- a/src/version.c
+++ b/src/version.c
@@ -729,6 +729,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1314,
+/**/
     1313,
 /**/
     1312,
