diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index c55b34d..64dcd7e 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -2709,7 +2709,7 @@
 /*
  * Check for an Ex command with optional tail.
  * If there is a match advance "pp" to the argument and return TRUE.
- * If "noparen" is TRUE do not recognize the command followed by "(".
+ * If "noparen" is TRUE do not recognize the command followed by "(" or ".".
  */
     static int
 checkforcmd_opt(
@@ -2723,8 +2723,8 @@
     for (i = 0; cmd[i] != NUL; ++i)
 	if (((char_u *)cmd)[i] != (*pp)[i])
 	    break;
-    if (i >= len && !isalpha((*pp)[i])
-			   && (*pp)[i] != '_' && (!noparen || (*pp)[i] != '('))
+    if (i >= len && !isalpha((*pp)[i]) && (*pp)[i] != '_'
+			 && (!noparen || ((*pp)[i] != '(' && (*pp)[i] != '.')))
     {
 	*pp = skipwhite(*pp + i);
 	return TRUE;
@@ -2746,7 +2746,7 @@
 }
 
 /*
- * Check for an Ex command with optional tail, not followed by "(".
+ * Check for an Ex command with optional tail, not followed by "(" or ".".
  * If there is a match advance "pp" to the argument and return TRUE.
  */
     int
diff --git a/src/testdir/test_vim9_import.vim b/src/testdir/test_vim9_import.vim
index f37ff8b..be453c6 100644
--- a/src/testdir/test_vim9_import.vim
+++ b/src/testdir/test_vim9_import.vim
@@ -142,6 +142,14 @@
   unlet g:imported_func
   delete('Ximport_lbr.vim')
 
+  var import_shadows_cmdmod_lines =<< trim END
+      vim9script
+      import './Xexport.vim' as vim9
+      vim9.exp_name = 'Shadow'
+      assert_equal('Shadow', vim9.exp_name)
+  END
+  v9.CheckScriptSuccess(import_shadows_cmdmod_lines)
+
   var line_break_before_dot =<< trim END
     vim9script
     import './Xexport.vim' as expo
@@ -365,7 +373,6 @@
   assert_fails('source Ximport.vim', 'E46: Cannot change read-only variable "CONST"', '', 3)
 
   delete('Ximport.vim')
-  delete('Ximport3.vim')
   delete('Xexport.vim')
 
   # Check that in a Vim9 script 'cpo' is set to the Vim default.
diff --git a/src/version.c b/src/version.c
index 301f544..0dc936a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    4277,
+/**/
     4276,
 /**/
     4275,
