Set startinpos before calling the error handler.
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index f54e7b2..26aa753 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -1028,6 +1028,7 @@
             }
         }
         else if (SPECIAL(ch,0,0)) {
+            startinpos = s-starts;
             errmsg = "unexpected special character";
             s++;
 	        goto utf7Error;