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