diff --git a/src/Text/Pandoc/Writers/Markdown.hs b/src/Text/Pandoc/Writers/Markdown.hs
index 3295d9e6c..2ad9eabd9 100644
--- a/src/Text/Pandoc/Writers/Markdown.hs
+++ b/src/Text/Pandoc/Writers/Markdown.hs
@@ -278,6 +278,12 @@ attrsToMarkdown attribs = braces $ hsep [attribId, attribClasses, attribKeys]
               escAttrChar '\\' = literal "\\\\"
               escAttrChar c    = literal $ T.singleton c
 
+-- | (Code) blocks with a single class can just use it standalone,
+-- no need to bother with curly braces.
+classOrAttrsToMarkdown :: Attr -> Doc Text
+classOrAttrsToMarkdown ("",[cls],_) = literal cls
+classOrAttrsToMarkdown attrs = attrsToMarkdown attrs
+
 linkAttributes :: WriterOptions -> Attr -> Doc Text
 linkAttributes opts attr =
   if isEnabled Ext_link_attributes opts && attr /= nullAttr
@@ -343,7 +349,7 @@ blockToMarkdown' opts (Div attrs ils) = do
     case () of
          _ | isEnabled Ext_fenced_divs opts &&
              attrs /= nullAttr ->
-                nowrap (literal ":::" <+> attrsToMarkdown attrs) $$
+                nowrap (literal ":::" <+> classOrAttrsToMarkdown attrs) $$
                 chomp contents $$
                 literal ":::" <> blankline
            | isEnabled Ext_native_divs opts ||
@@ -512,7 +518,7 @@ blockToMarkdown' opts (CodeBlock attribs str) = do
      backticks = endline '`'
      tildes = endline '~'
      attrs  = if isEnabled Ext_fenced_code_attributes opts
-                 then nowrap $ " " <> attrsToMarkdown attribs
+                 then nowrap $ " " <> classOrAttrsToMarkdown attribs
                  else case attribs of
                             (_,cls:_,_) -> " " <> literal cls
                             _             -> empty
diff --git a/test/command/5304.md b/test/command/5304.md
index 62b2b9ddd..70f32a96a 100644
--- a/test/command/5304.md
+++ b/test/command/5304.md
@@ -11,7 +11,7 @@
 ... 
 ```
 ^D
-``` {.markdown}
+``` markdown
 `«sträng»`
 
 `` «sträng» ``
diff --git a/test/command/5519.md b/test/command/5519.md
index a175ce9f9..ecde184f1 100644
--- a/test/command/5519.md
+++ b/test/command/5519.md
@@ -6,7 +6,7 @@
  ```
 ``````
 ^D
-```` {.attr}
+```` attr
  ```
  code
  ```
diff --git a/test/command/6925.md b/test/command/6925.md
index 458a0b91d..e0d8e6870 100644
--- a/test/command/6925.md
+++ b/test/command/6925.md
@@ -20,13 +20,13 @@ a
 \end{thm2}
 \end{document}
 ^D
-::: {.thm}
+::: thm
 **Theorem 1**. *a*
 
 ![image](1.png)
 :::
 
-::: {.thm2}
+::: thm2
 **Theorem 1**. a
 
 ![image](1.png)
diff --git a/test/command/toc.md b/test/command/toc.md
index 794af7690..543f97ba9 100644
--- a/test/command/toc.md
+++ b/test/command/toc.md
@@ -31,7 +31,7 @@
 
 ## b
 
-::: {.interior}
+::: interior
 # C
 
 ## cc
@@ -39,7 +39,7 @@
 # D
 :::
 
-::: {.blue}
+::: blue
 # E
 
 ## e