diff --git a/py/misc.h b/py/misc.h
index a1d3e1ce305b2be9d6d3b291a51efbb5aa7b09cc..79a4c1c6ef723049041f994ddee3a651164dcfed 100644
--- a/py/misc.h
+++ b/py/misc.h
@@ -123,6 +123,7 @@ bool unichar_isalpha(unichar c);
 bool unichar_isprint(unichar c);
 bool unichar_isdigit(unichar c);
 bool unichar_isxdigit(unichar c);
+bool unichar_isident(unichar c);
 bool unichar_isupper(unichar c);
 bool unichar_islower(unichar c);
 unichar unichar_tolower(unichar c);
diff --git a/py/repl.c b/py/repl.c
index 182961b4b9e470b7d6f481c3f23332f7ab0440b3..de0e8a4e761dbd98c1a638a0c8efd404f08ef679 100644
--- a/py/repl.c
+++ b/py/repl.c
@@ -38,7 +38,7 @@ STATIC bool str_startswith_word(const char *str, const char *head) {
             return false;
         }
     }
-    return head[i] == '\0' && (str[i] == '\0' || !unichar_isalpha(str[i]));
+    return head[i] == '\0' && (str[i] == '\0' || !unichar_isident(str[i]));
 }
 
 bool mp_repl_continue_with_input(const char *input) {
diff --git a/py/unicode.c b/py/unicode.c
index ccf2b554e30acf4c91961081a73b20ed80ee53d9..8be63f217aec8c8dc01b0ba42afb9bf867e965fe 100644
--- a/py/unicode.c
+++ b/py/unicode.c
@@ -145,11 +145,9 @@ bool unichar_isxdigit(unichar c) {
     return c < 128 && (attr[c] & FL_XDIGIT) != 0;
 }
 
-/*
-bool unichar_is_alpha_or_digit(unichar c) {
-    return c < 128 && (attr[c] & (FL_ALPHA | FL_DIGIT)) != 0;
+bool unichar_isident(unichar c) {
+    return c < 128 && ((attr[c] & (FL_ALPHA | FL_DIGIT)) != 0 || c == '_');
 }
-*/
 
 bool unichar_isupper(unichar c) {
     return c < 128 && (attr[c] & FL_UPPER) != 0;
diff --git a/tests/cmdline/repl_cont.py b/tests/cmdline/repl_cont.py
index e41d46aceb7381cc1587cdfa44b0343ba2beb32e..921274b8883f336954c1f72fc5d2218cefbc23cc 100644
--- a/tests/cmdline/repl_cont.py
+++ b/tests/cmdline/repl_cont.py
@@ -29,3 +29,6 @@ def f(x):
 print(x)
 
 f(3)
+if1=1
+if1 = 2
+print(if1)
diff --git a/tests/cmdline/repl_cont.py.exp b/tests/cmdline/repl_cont.py.exp
index 74f0f4197f2f9a79f45f15fbf734b96b922c9874..834c18a4d3699504fbee2f8705fdef7e0fdc6e00 100644
--- a/tests/cmdline/repl_cont.py.exp
+++ b/tests/cmdline/repl_cont.py.exp
@@ -50,4 +50,8 @@ two
 ...     
 >>> f(3)
 3
+>>> if1=1
+>>> if1 = 2
+>>> print(if1)
+2
 >>>