diff --git a/js/select2boxes.js b/js/select2boxes.js
index 6a3fb04..28184b3 100644
--- a/js/select2boxes.js
+++ b/js/select2boxes.js
@@ -19,6 +19,7 @@
     var separators = e.options.tokenSeparators || [];
     var term = params.term;
     var i = 0;
+    var j = 0;
 
     var createTag = this.createTag || function (params) {
       return {
@@ -27,9 +28,8 @@
       };
     };
 
-    if (term.length && separators.length && $.inArray(term.slice(-1), separators) === -1) {
-      term = term + separators[0];
-    }
+    const item = params.term.split(separators[0]);
+    var created = false;
 
     while (i < term.length) {
       var termChar = term[i];
@@ -54,13 +54,29 @@
 
       callback(data);
 
+      if (item.length && j + 1 == item.length - 1) {
+        const value = item.pop();
+
+        if (value.length) {
+          var data = createTag({
+            term: value,
+          });
+
+          created = true;
+
+          callback(data);
+        }
+      }
+
       // Reset the term to not include the tokenized portion
       term = term.substr(i + 1) || '';
       i = 0;
+
+      j++;
     }
 
     return {
-      term: term
+      term: !created ? term : '',
     };
   }
 
