diff --git a/CHANGES.txt b/CHANGES.txt
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,5 +1,7 @@
 Changelog for TagSoup
 
+0.14.6, released 2018-02-27
+    Fix up source positions on bogus <! markers
 0.14.5, released 2018-02-27
     Fix up source positions on bogus <? markers
 0.14.4, released 2018-02-26
diff --git a/src/Text/HTML/TagSoup/Specification.hs b/src/Text/HTML/TagSoup/Specification.hs
--- a/src/Text/HTML/TagSoup/Specification.hs
+++ b/src/Text/HTML/TagSoup/Specification.hs
@@ -227,7 +227,7 @@
     _ | Just s <- next "--" -> Comment & commentStart s
     _ | isAlpha hd -> Tag & '!' & hd & tagName TypeDecl tl -- NEIL
     _ | Just s <- next "[CDATA[" -> cdataSection s
-    _ -> pos $ errWant "tag name" & bogusComment s
+    _ -> errWant "tag name" & bogusComment s
 
 
 -- 8.2.4.18 Comment start state
diff --git a/tagsoup.cabal b/tagsoup.cabal
--- a/tagsoup.cabal
+++ b/tagsoup.cabal
@@ -1,6 +1,6 @@
 cabal-version:  >= 1.18
 name:           tagsoup
-version:        0.14.5
+version:        0.14.6
 copyright:      Neil Mitchell 2006-2018
 author:         Neil Mitchell <ndmitchell@gmail.com>
 maintainer:     Neil Mitchell <ndmitchell@gmail.com>
diff --git a/test/TagSoup/Test.hs b/test/TagSoup/Test.hs
--- a/test/TagSoup/Test.hs
+++ b/test/TagSoup/Test.hs
@@ -251,6 +251,7 @@
     p "<div><!--foo-->bar</div>" === [TagPosition 1 1,TagOpen "div" [],TagPosition 1 6,TagComment "foo",TagPosition 1 16,TagText "bar",TagPosition 1 19,TagClose "div"]
     p "<div><?foo</div>" === [TagPosition 1 1,TagOpen "div" [],TagPosition 1 6,TagOpen "?foo<" [("div","")]]
     p "<div><?</div>" === [TagPosition 1 1,TagOpen "div" [],TagPosition 1 6,TagText "<?",TagPosition 1 8,TagClose "div"]
+    p "<div><!</div>" === [TagPosition 1 1,TagOpen "div" [],TagPosition 1 6,TagComment "</div"]
     p "<![CDATA[x]]>" === [TagPosition 1 10,TagText "x"]
     p "<!html>" === [TagPosition 1 1,TagOpen "!html" []]
 
