diff --git a/src/Text/Pandoc/Writers/LaTeX.hs b/src/Text/Pandoc/Writers/LaTeX.hs
index 9933c6d36..3acf80866 100644
--- a/src/Text/Pandoc/Writers/LaTeX.hs
+++ b/src/Text/Pandoc/Writers/LaTeX.hs
@@ -1190,10 +1190,11 @@ inlineToLaTeX (Code (_,classes,kvs) str) = do
                Right h -> modify (\st -> st{ stHighlighting = True }) >>
                           return (text (T.unpack h))
   case () of
-     _ | writerListings opts  && not (inHeading || inItem) -> listingsCode
+     _ | inHeading || inItem  -> rawCode  -- see #5574
+       | writerListings opts  -> listingsCode
        | isJust (writerHighlightStyle opts) && not (null classes)
-                                                    -> highlightCode
-       | otherwise                                  -> rawCode
+                              -> highlightCode
+       | otherwise            -> rawCode
 inlineToLaTeX (Quoted qt lst) = do
   contents <- inlineListToLaTeX lst
   csquotes <- liftM stCsquotes get
diff --git a/test/command/5574.md b/test/command/5574.md
new file mode 100644
index 000000000..441b3afd6
--- /dev/null
+++ b/test/command/5574.md
@@ -0,0 +1,8 @@
+No highlighting inside heading:
+```
+% pandoc -t latex
+# `foo`{.cpp}
+^D
+\hypertarget{foo}{%
+\section{\texorpdfstring{\texttt{foo}}{foo}}\label{foo}}
+```