diff --git a/src/jquery.tokeninput.js b/src/jquery.tokeninput.js
index 4b69d823..757ef199 100755
--- a/src/jquery.tokeninput.js
+++ b/src/jquery.tokeninput.js
@@ -323,26 +323,6 @@
 
                     break;
 
-                  case KEY.BACKSPACE:
-                      previous_token = input_token.prev();
-
-                      if (this.value.length === 0) {
-                        if (selected_token) {
-                          delete_token($(selected_token));
-                          hiddenInput.change();
-                        } else if(previous_token.length) {
-                          select_token($(previous_token.get(0)));
-                        }
-
-                        return false;
-                      } else if($(this).val().length === 1) {
-                          hide_dropdown();
-                      } else {
-                          // set a timeout just long enough to let this function finish.
-                          setTimeout(function(){ do_search(); }, 5);
-                      }
-                      break;
-
                   case KEY.TAB:
                   case KEY.ENTER:
                   case KEY.NUMPAD_ENTER:
@@ -371,6 +351,32 @@
                   case KEY.ESCAPE:
                     hide_dropdown();
                     return true;
+              }
+          })
+          .keyup(function (event) {
+              var previous_token;
+              var next_token;
+
+              switch(event.keyCode) {
+                  case KEY.BACKSPACE:
+                      previous_token = input_token.prev();
+
+                      if (this.value.length === 0) {
+                        if (selected_token) {
+                          delete_token($(selected_token));
+                          hiddenInput.change();
+                        } else if(previous_token.length) {
+                          select_token($(previous_token.get(0)));
+                        }
+
+                        return false;
+                      } else if($(this).val().length === 1) {
+                          hide_dropdown();
+                      } else {
+                          // set a timeout just long enough to let this function finish.
+                          setTimeout(function(){ do_search(); }, 5);
+                      }
+                      break;
 
                   default:
                     if (String.fromCharCode(event.which)) {
@@ -1067,11 +1073,12 @@
       // obj: a jQuery object to focus()
       function focusWithTimeout(object) {
           setTimeout(
-            function() {
-			  object.focus();
-            },
-			50
-		  );
+              function() {
+                  object.focus();
+              },
+              50
+	  );
+          object.focus();
       }
   };