[canvas #canvas .dotmark .ov width="${bg_dim%x*}" height="${bg_dim#*x}" ]
   [input type=hidden #image_serialize name=imagedata value=""]
 
+  [input type=hidden name=formend value=formend]
   [button #savebutton type=submit $(l10n save)]
 ]
 
 
     printf 'Status: 409 Conflict\r\nContent-Length: 0\r\n\r\n'
     exit 0
   else
-    SET_COOKIE session message="TRANSACTION CONFLICT"
+    SET_COOKIE session message="TRANSACTION_CONFLICT"
+    REDIRECT "/therapies/${tpy%.*}/${tpy#*.}"
+  fi
+fi
+
+if [ "$(POST formend)" != "formend" ]; then
+  if [ "$(POST autosubmit)" = "true" ]; then
+    printf 'Status: 409 Conflict\r\nContent-Length: 0\r\n\r\n'
+    exit 0
+  else
+    SET_COOKIE session message="INCOMPLETE_SUBMIT"
     REDIRECT "/therapies/${tpy%.*}/${tpy#*.}"
   fi
 fi
 # serialize POST array into file
 for key in $(POST_KEYS); do
   case "$key" in
-    imagedata|tid) : ;;
+    imagedata|tid|formend) : ;;
     session*_date)
       value="$(POST "$key")"
       y=0 mon=0 dom=0