diff --git a/src/Text/Pandoc/Writers/Muse.hs b/src/Text/Pandoc/Writers/Muse.hs
index 404ebf7bc..ea46507db 100644
--- a/src/Text/Pandoc/Writers/Muse.hs
+++ b/src/Text/Pandoc/Writers/Muse.hs
@@ -287,7 +287,8 @@ conditionalEscapeString s =
if any (`elem` ("#*<=>[]|" :: String)) s ||
"::" `isInfixOf` s ||
"----" `isInfixOf` s ||
- "~~" `isInfixOf` s
+ "~~" `isInfixOf` s ||
+ "-" == s
then escapeString s
else s
diff --git a/test/Tests/Writers/Muse.hs b/test/Tests/Writers/Muse.hs
index 7aec8122a..ab5eaa205 100644
--- a/test/Tests/Writers/Muse.hs
+++ b/test/Tests/Writers/Muse.hs
@@ -301,6 +301,15 @@ tests = [ testGroup "block elements"
-- We don't want colons to be escaped if they can't be confused
-- with definition list item markers.
, "do not escape colon" =: str ":" =?> ":"
+ , "escape - to avoid accidental unordered lists" =: text " - foo" =?> " - foo"
+ , "escape - inside a list to avoid accidental nested unordered lists" =:
+ bulletList [ (para $ text "foo") <>
+ (para $ text "- bar")
+ ] =?>
+ unlines [ " - foo"
+ , ""
+ , " - bar"
+ ]
]
, testGroup "emphasis"
[ "emph" =: emph (text "foo") =?> "foo"
diff --git a/test/writer.muse b/test/writer.muse
index 6cb766955..5db3871a1 100644
--- a/test/writer.muse
+++ b/test/writer.muse
@@ -594,7 +594,7 @@ Bang: !
Plus: +
-Minus: -
+Minus: -
----