diff --git a/src/Text/Pandoc/Readers/LaTeX/Macro.hs b/src/Text/Pandoc/Readers/LaTeX/Macro.hs
index 5709cbb8c..bd7979ef3 100644
--- a/src/Text/Pandoc/Readers/LaTeX/Macro.hs
+++ b/src/Text/Pandoc/Readers/LaTeX/Macro.hs
@@ -25,8 +25,8 @@ macroDef constructor = do
       guardDisabled Ext_latex_macros)
      <|> return mempty
   where commandDef = do
-          nameMacroPairs <- newcommand <|> letmacro <|>
-            edefmacro <|> defmacro <|> newif
+          nameMacroPairs <- newcommand <|>
+            checkGlobal (letmacro <|> edefmacro <|> defmacro <|> newif)
           guardDisabled Ext_latex_macros <|>
             mapM_ insertMacro nameMacroPairs
         environmentDef = do
@@ -77,6 +77,14 @@ letmacro = do
                     Macro GroupScope ExpandWhenDefined [] Nothing [target])]
       _ -> pure [(name, Macro GroupScope ExpandWhenDefined [] Nothing [target])]
 
+checkGlobal :: PandocMonad m => LP m [(Text, Macro)] -> LP m [(Text, Macro)]
+checkGlobal p =
+  (do controlSeq "global"
+      ms <- p
+      return $ map (\(n, Macro _ expand arg optarg contents) ->
+                      (n, Macro GlobalScope expand arg optarg contents)) ms)
+   <|> p
+
 edefmacro :: PandocMonad m => LP m [(Text, Macro)]
 edefmacro = do
   scope <- (GroupScope <$ controlSeq "edef")
diff --git a/test/command/7494.md b/test/command/7494.md
index d8a2ff7a5..364bcb7e1 100644
--- a/test/command/7494.md
+++ b/test/command/7494.md
@@ -22,6 +22,18 @@ BAR BAZ BAR
 BAR BAZ BAZ
 ```
 
+```
+% pandoc -f latex -t plain
+\def\foo{BAR}
+{\foo
+\global\def\foo{BAZ}
+\foo
+}
+\foo
+^D
+BAR BAZ BAZ
+```
+
 ```
 % pandoc -f latex -t plain
 \newcommand{\aaa}{BBB}