diff --git a/src/tag.c b/src/tag.c
index 20473d1..0f4a70d 100644
--- a/src/tag.c
+++ b/src/tag.c
@@ -1921,6 +1921,32 @@
 	    }
 
 parse_line:
+	    if (vim_strchr(lbuf, NL) == NULL
+#ifdef FEAT_CSCOPE
+					     && !use_cscope
+#endif
+					     )
+	    {
+		// Truncated line, ignore it.  Has been reported for
+		// Mozilla JS with extremely long names.
+		if (p_verbose >= 5)
+		{
+		    verbose_enter();
+		    msg(_("Ignoring long line in tags file"));
+		    verbose_leave();
+		}
+#ifdef FEAT_TAG_BINS
+		if (state != TS_LINEAR)
+		{
+		    // Avoid getting stuck.
+		    linear = TRUE;
+		    state = TS_LINEAR;
+		    vim_fseek(fp, search_info.low_offset, SEEK_SET);
+		}
+#endif
+		continue;
+	    }
+
 	    /*
 	     * Figure out where the different strings are in this line.
 	     * For "normal" tags: Do a quick check if the tag matches.
@@ -1937,28 +1963,6 @@
 		tagp.tagname_end = vim_strchr(lbuf, TAB);
 		if (tagp.tagname_end == NULL)
 		{
-		    if (vim_strchr(lbuf, NL) == NULL)
-		    {
-			/* Truncated line, ignore it.  Has been reported for
-			 * Mozilla JS with extremely long names. */
-			if (p_verbose >= 5)
-			{
-			    verbose_enter();
-			    msg(_("Ignoring long line in tags file"));
-			    verbose_leave();
-			}
-#ifdef FEAT_TAG_BINS
-			if (state != TS_LINEAR)
-			{
-			    /* Avoid getting stuck. */
-			    linear = TRUE;
-			    state = TS_LINEAR;
-			    vim_fseek(fp, search_info.low_offset, SEEK_SET);
-			}
-#endif
-			continue;
-		    }
-
 		    /* Corrupted tag line. */
 		    line_error = TRUE;
 		    break;
diff --git a/src/testdir/test_tagjump.vim b/src/testdir/test_tagjump.vim
index 4ce9ece..7e64ac4 100644
--- a/src/testdir/test_tagjump.vim
+++ b/src/testdir/test_tagjump.vim
@@ -439,4 +439,35 @@
   call delete('Xtest.c')
 endfunc
 
+func Test_tag_line_toolong()
+  call writefile([
+	\ '1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678	django/contrib/admin/templates/admin/edit_inline/stacked.html	16;"	j	line:16	language:HTML'
+	\ ], 'Xtags')
+  set tags=Xtags
+  let old_vbs = &verbose
+  set verbose=5
+  " ":tjump" should give "tag not found" not "Format error in tags file"
+  call assert_fails('tj /foo', 'E426')
+  try
+    tj /foo
+  catch /^Vim\%((\a\+)\)\=:E431/
+    call assert_report(v:exception)
+  catch /.*/
+  endtry
+  call assert_equal('Ignoring long line in tags file', split(execute('messages'), '\n')[-1])
+  call writefile([
+	\ '123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567	django/contrib/admin/templates/admin/edit_inline/stacked.html	16;"	j	line:16	language:HTML'
+	\ ], 'Xtags')
+  call assert_fails('tj /foo', 'E426')
+  try
+    tj /foo
+  catch /^Vim\%((\a\+)\)\=:E431/
+    call assert_report(v:exception)
+  catch /.*/
+  endtry
+  call assert_equal('Ignoring long line in tags file', split(execute('messages'), '\n')[-1])
+  call delete('Xtags')
+  let &verbose = old_vbs
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/version.c b/src/version.c
index 6287c79..9ba9e92 100644
--- a/src/version.c
+++ b/src/version.c
@@ -772,6 +772,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1094,
+/**/
     1093,
 /**/
     1092,
