diff --git a/src/eval.c b/src/eval.c
index 699f43b..a0bbabf 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1093,7 +1093,7 @@
 		--p;
 		lp->ll_name_end = p;
 	    }
-	    if (*p == ':')
+	    if (*skipwhite(p) == ':')
 	    {
 		char_u	    *tp = skipwhite(p + 1);
 
@@ -1102,6 +1102,11 @@
 		    semsg(_(e_cannot_use_type_with_this_variable_str), name);
 		    return NULL;
 		}
+		if (VIM_ISWHITE(*p))
+		{
+		    semsg(_(e_no_white_space_allowed_before_colon_str), p);
+		    return NULL;
+		}
 		if (tp == p + 1 && !quiet)
 		{
 		    semsg(_(e_white_space_required_after_str_str), ":", p);
diff --git a/src/evalvars.c b/src/evalvars.c
index 68df1cb..0665436 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -1363,8 +1363,8 @@
 
     if (include_type && vim9)
     {
-	if (*end == ':')
-	    end = skip_type(skipwhite(end + 1), FALSE);
+	if (*skipwhite(end) == ':')
+	    end = skip_type(skipwhite(skipwhite(end) + 1), FALSE);
     }
     return end;
 }
diff --git a/src/testdir/test_vim9_assign.vim b/src/testdir/test_vim9_assign.vim
index f016ae3..4f4e58e 100644
--- a/src/testdir/test_vim9_assign.vim
+++ b/src/testdir/test_vim9_assign.vim
@@ -360,6 +360,13 @@
   v9.CheckDefAndScriptSuccess(lines)
 enddef
 
+def Test_type_with_extra_white()
+  var lines =<< trim END
+      const x : number = 3
+  END
+  v9.CheckDefExecAndScriptFailure(lines, 'E1059')
+enddef
+
 def Test_keep_type_after_assigning_null()
   var lines =<< trim END
       var b: blob
diff --git a/src/version.c b/src/version.c
index 24a2770..dcf223e 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1266,
+/**/
     1265,
 /**/
     1264,
diff --git a/src/vim9cmds.c b/src/vim9cmds.c
index 69c04ae..fb09780 100644
--- a/src/vim9cmds.c
+++ b/src/vim9cmds.c
@@ -1001,8 +1001,13 @@
 	    name = vim_strnsave(arg, varlen);
 	    if (name == NULL)
 		goto failed;
-	    if (*p == ':')
+	    if (*skipwhite(p) == ':')
 	    {
+		if (VIM_ISWHITE(*p))
+		{
+		    semsg(_(e_no_white_space_allowed_before_colon_str), p);
+		    goto failed;
+		}
 		p = skipwhite(p + 1);
 		lhs_type = parse_type(&p, cctx->ctx_type_list, TRUE);
 	    }
diff --git a/src/vim9compile.c b/src/vim9compile.c
index 27b71f7..a3bb411 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -1741,11 +1741,16 @@
 
     if (lhs->lhs_dest != dest_option && lhs->lhs_dest != dest_func_option)
     {
-	if (is_decl && *var_end == ':')
+	if (is_decl && *skipwhite(var_end) == ':')
 	{
 	    char_u *p;
 
 	    // parse optional type: "let var: type = expr"
+	    if (VIM_ISWHITE(*var_end))
+	    {
+		semsg(_(e_no_white_space_allowed_before_colon_str), var_end);
+		return FAIL;
+	    }
 	    if (!VIM_ISWHITE(var_end[1]))
 	    {
 		semsg(_(e_white_space_required_after_str_str), ":", var_end);
