diff --git a/src/uifc/uifc.h b/src/uifc/uifc.h
index 07d3768d2d7913ff4decc3538295650a45f9fc9d..a0c9ec6e32c9dc810727fd14a70423461d492d88 100644
--- a/src/uifc/uifc.h
+++ b/src/uifc/uifc.h
@@ -211,7 +211,7 @@
 #define K_NOCRLF	(1L<<9) 	/* Don't print CRLF after string input      */
 #define K_ALPHA 	(1L<<10)	/* Only allow alphabetic characters 		*/
 #define K_SCANNING	(1L<<11)	/* UPC Scanner is active... return on '%'	*/
-#define K_TABEXIT	(1L<<12)	/* Return on TAB					    	*/
+#define K_TABEXIT	(1L<<12)	/* Return on TAB or BACKTAB			    	*/
 #define K_DECIMAL	(1L<<13)	/* Allow floating point numbers only		*/
 #define K_DEUCEEXIT	(1L<<13)	/* Return whenever Deuce wants to exit		*/
 								/* Define this behaviour better - ToDo		*/
diff --git a/src/uifc/uifc32.c b/src/uifc/uifc32.c
index b90c8e7bd32260f099e9e432b0b58271df8ee1f4..6d13a266d22443b9add5b232bcf0e67226156d13 100644
--- a/src/uifc/uifc32.c
+++ b/src/uifc/uifc32.c
@@ -1910,7 +1910,8 @@ int ugetstr(int left, int top, int width, char *outstr, int max, long mode, int
 					}
 				case CR:
 					break;
-				case '\t':	/* '%' indicates that a UPC is coming next */
+				case 3840:	/* Backtab */
+				case '\t':
 					if(mode&K_TABEXIT)
 						ch=CR;
 					break;