diff --git a/src/errors.h b/src/errors.h
index 5f0fdcb..944dc43 100644
--- a/src/errors.h
+++ b/src/errors.h
@@ -3338,3 +3338,7 @@
 EXTERN char e_cannot_use_type_with_this_variable_str[]
 	INIT(= N_("E1304: Cannot use type with this variable: %s"));
 #endif
+#ifdef FEAT_PROP_POPUP
+EXTERN char e_cannot_use_length_endcol_and_endlnum_with_text[]
+	INIT(= N_("E1305: Cannot use \"length\", \"end_col\" and \"end_lnum\" with \"text\""));
+#endif
diff --git a/src/testdir/test_textprop.vim b/src/testdir/test_textprop.vim
index 1c32cbc..a807db6 100644
--- a/src/testdir/test_textprop.vim
+++ b/src/testdir/test_textprop.vim
@@ -2578,13 +2578,22 @@
   call delete('XscriptPropsWithHighlight')
 endfunc
 
+func Test_prop_add_with_text_fails()
+  call prop_type_add('failing', #{highlight: 'ErrorMsg'})
+  call assert_fails("call prop_add(1, 0, #{type: 'failing', text: 'X', end_lnum: 1})", 'E1305:')
+  call assert_fails("call prop_add(1, 0, #{type: 'failing', text: 'X', end_col: 1})", 'E1305:')
+  call assert_fails("call prop_add(1, 0, #{type: 'failing', text: 'X', length: 1})", 'E1305:')
+
+  call prop_type_delete('failing')
+endfunc
+
 func Test_props_with_text_right_align_twice()
   CheckRunVimInTerminal
 
   let lines =<< trim END
       call setline(1, ["some text some text some text some text", 'line two'])
-      call prop_type_add('MyErrorText', #{ highlight: 'ErrorMsg'})
-      call prop_type_add('MyPadding', #{ highlight: 'DiffChange'})
+      call prop_type_add('MyErrorText', #{highlight: 'ErrorMsg'})
+      call prop_type_add('MyPadding', #{highlight: 'DiffChange'})
       call prop_add(1, 0, #{type: 'MyPadding', text: ' nothing here', text_wrap: 'wrap'})
       call prop_add(1, 0, #{type: 'MyErrorText', text: 'Some error', text_wrap: 'wrap', text_align: 'right'})
       call prop_add(1, 0, #{type: 'MyErrorText', text: 'Another error', text_wrap: 'wrap', text_align: 'right'})
diff --git a/src/textprop.c b/src/textprop.c
index 6e5c144..4153e3f 100644
--- a/src/textprop.c
+++ b/src/textprop.c
@@ -488,6 +488,14 @@
 
     if (dict_has_key(dict, "text"))
     {
+	if (dict_has_key(dict, "length")
+		|| dict_has_key(dict, "end_col")
+		|| dict_has_key(dict, "end_lnum"))
+	{
+	    emsg(_(e_cannot_use_length_endcol_and_endlnum_with_text));
+	    goto theend;
+	}
+
 	text = dict_get_string(dict, "text", TRUE);
 	if (text == NULL)
 	    goto theend;
diff --git a/src/version.c b/src/version.c
index 93e706d..f4c5fb4 100644
--- a/src/version.c
+++ b/src/version.c
@@ -704,6 +704,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    489,
+/**/
     488,
 /**/
     487,
