diff --git a/src/Text/Pandoc/Writers/Markdown.hs b/src/Text/Pandoc/Writers/Markdown.hs
index 50fba2dba..ade350565 100644
--- a/src/Text/Pandoc/Writers/Markdown.hs
+++ b/src/Text/Pandoc/Writers/Markdown.hs
@@ -467,6 +467,7 @@ blockToMarkdown' opts b@(RawBlock f str) = do
   let renderEmpty = mempty <$ report (BlockNotRendered b)
   case () of
     _ | plain -> renderEmpty
+      | isEnabled Ext_raw_attribute opts -> rawAttribBlock
       | f `elem` ["markdown", "markdown_github", "markdown_phpextra",
                   "markdown_mmd", "markdown_strict"] ->
             return $ text str <> text "\n"
@@ -484,7 +485,6 @@ blockToMarkdown' opts b@(RawBlock f str) = do
                     text str <> text "\n"
                 | isEnabled Ext_raw_attribute opts -> rawAttribBlock
                 | otherwise -> renderEmpty
-      | isEnabled Ext_raw_attribute opts -> rawAttribBlock
       | otherwise -> renderEmpty
 blockToMarkdown' opts HorizontalRule = do
   return $ blankline <> text (replicate (writerColumns opts) '-') <> blankline
@@ -1152,6 +1152,7 @@ inlineToMarkdown opts il@(RawInline f str) = do
       | f `elem` ["markdown", "markdown_github", "markdown_phpextra",
                   "markdown_mmd", "markdown_strict"] ->
             return $ text str
+      | isEnabled Ext_raw_attribute opts -> rawAttribInline
       | f `elem` ["html", "html5", "html4"] ->
             case () of
               _ | isEnabled Ext_raw_html opts -> return $ text str
@@ -1162,7 +1163,6 @@ inlineToMarkdown opts il@(RawInline f str) = do
               _ | isEnabled Ext_raw_tex opts -> return $ text str
                 | isEnabled Ext_raw_attribute opts -> rawAttribInline
                 | otherwise -> renderEmpty
-      | isEnabled Ext_raw_attribute opts -> rawAttribInline
       | otherwise -> renderEmpty
 inlineToMarkdown opts (LineBreak) = do
   plain <- asks envPlain
diff --git a/test/Tests/Writers/Markdown.hs b/test/Tests/Writers/Markdown.hs
index 533be268a..aae4d082c 100644
--- a/test/Tests/Writers/Markdown.hs
+++ b/test/Tests/Writers/Markdown.hs
@@ -40,7 +40,7 @@ infix 4 =:
 tests :: [TestTree]
 tests = [ "indented code after list"
              =: (orderedList [ para "one" <> para "two" ] <> codeBlock "test")
-             =?> "1.  one\n\n    two\n\n<!-- -->\n\n    test"
+             =?> "1.  one\n\n    two\n\n```{=html}\n<!-- -->\n```\n    test"
         , "list with tight sublist"
              =: bulletList [ plain "foo" <> bulletList [ plain "bar" ],
                              plain "baz" ]
diff --git a/test/command/4164.md b/test/command/4164.md
index 8cfc960a0..50c3117ec 100644
--- a/test/command/4164.md
+++ b/test/command/4164.md
@@ -12,7 +12,7 @@ Here is inline html:
 
 <div>
 
-<balise> bla bla
+`<balise>`{=html} bla bla
 
 </div>
 
diff --git a/test/command/macros.md b/test/command/macros.md
index 0c91944a1..e3c07e661 100644
--- a/test/command/macros.md
+++ b/test/command/macros.md
@@ -1,5 +1,5 @@
 ```
-% pandoc -f markdown+latex_macros -t markdown
+% pandoc -f markdown+latex_macros -t markdown+raw_tex-raw_attribute
 \newcommand{\my}{\phi}
 $\my+\my$
 ^D
@@ -9,7 +9,7 @@ $\phi+\phi$
 ```
 
 ```
-% pandoc -f markdown-latex_macros -t markdown
+% pandoc -f markdown-latex_macros -t markdown+raw_tex-raw_attribute
 \newcommand{\my}{\phi}
 $\my+\my$
 ^D
@@ -70,7 +70,7 @@ x &= y\\\end{aligned}\]
 ```
 
 ```
-% pandoc -f markdown+latex_macros -t markdown
+% pandoc -f markdown+latex_macros -t markdown+raw_tex-raw_attribute
 \newcommand{\my}{\phi}
 \begin{equation}
 \my+\my
@@ -84,7 +84,7 @@ x &= y\\\end{aligned}\]
 ```
 
 ```
-% pandoc -f markdown-latex_macros -t markdown
+% pandoc -f markdown-latex_macros -t markdown+raw_tex-raw_attribute
 \newcommand{\my}{\phi}
 \begin{equation}
 \my+\my
@@ -98,7 +98,7 @@ x &= y\\\end{aligned}\]
 ```
 
 ```
-% pandoc -f markdown+latex_macros -t markdown
+% pandoc -f markdown+latex_macros -t markdown+raw_tex-raw_attribute
 \newcommand{\my}{\emph{a}}
 \my
 ^D
diff --git a/test/command/parse-raw.md b/test/command/parse-raw.md
index f4e493c69..a1a41b551 100644
--- a/test/command/parse-raw.md
+++ b/test/command/parse-raw.md
@@ -2,7 +2,7 @@
 % pandoc -f latex+raw_tex -t markdown
 \emph{Hi \foo{there}}
 ^D
-*Hi \foo{there}*
+*Hi `\foo{there}`{=latex}*
 ```
 
 ```
@@ -16,7 +16,7 @@
 % pandoc -f html+raw_html -t markdown
 <em>Hi <blink>there</blink></em>
 ^D
-*Hi <blink>there</blink>*
+*Hi `<blink>`{=html}there`</blink>`{=html}*
 ```
 
 ```
diff --git a/test/writer.markdown b/test/writer.markdown
index 6aab1e597..7393ee18e 100644
--- a/test/writer.markdown
+++ b/test/writer.markdown
@@ -399,18 +399,35 @@ bar
 
 Interpreted markdown in a table:
 
+```{=html}
 <table>
+```
+```{=html}
 <tr>
+```
+```{=html}
 <td>
+```
 This is *emphasized*
+```{=html}
 </td>
+```
+```{=html}
 <td>
+```
 And this is **strong**
+```{=html}
 </td>
+```
+```{=html}
 </tr>
+```
+```{=html}
 </table>
+```
+```{=html}
 <script type="text/javascript">document.write('This *should not* be interpreted as markdown');</script>
-
+```
 Here's a simple block:
 
 <div>
@@ -447,41 +464,64 @@ foo
 
 This should just be an HTML comment:
 
+```{=html}
 <!-- Comment -->
-
+```
 Multiline:
 
+```{=html}
 <!--
 Blah
 Blah
 -->
+```
+```{=html}
 <!--
     This is another comment.
 -->
-
+```
 Code block:
 
     <!-- Comment -->
 
 Just plain comment, with trailing spaces on the line:
 
+```{=html}
 <!-- foo -->
-
+```
 Code:
 
     <hr />
 
 Hr's:
 
+```{=html}
 <hr>
+```
+```{=html}
 <hr />
+```
+```{=html}
 <hr />
+```
+```{=html}
 <hr>
+```
+```{=html}
 <hr />
+```
+```{=html}
 <hr />
+```
+```{=html}
 <hr class="foo" id="bar" />
+```
+```{=html}
 <hr class="foo" id="bar" />
+```
+```{=html}
 <hr class="foo" id="bar">
+```
 
 ------------------------------------------------------------------------------
 
@@ -540,7 +580,7 @@ Ellipses...and...and....
 LaTeX
 =====
 
--   \cite[22-23]{smith.1899}
+-   `\cite[22-23]{smith.1899}`{=tex}
 -   $2+2=4$
 -   $x \in y$
 -   $\alpha \wedge \omega$
@@ -560,11 +600,13 @@ These shouldn't be math:
 
 Here's a LaTeX table:
 
+```{=tex}
 \begin{tabular}{|l|l|}\hline
 Animal & Number \\ \hline
 Dog    & 2      \\
 Cat    & 1      \\ \hline
 \end{tabular}
+```
 
 ------------------------------------------------------------------------------