diff --git a/compiler/GHC/CmmToAsm/X86/CodeGen.hs b/compiler/GHC/CmmToAsm/X86/CodeGen.hs
index d407a8a86abcb8af3b39a47343af68c7cb54421b..bc0135b920fb60a178d55a7eaa2a0fe162178f45 100644
--- a/compiler/GHC/CmmToAsm/X86/CodeGen.hs
+++ b/compiler/GHC/CmmToAsm/X86/CodeGen.hs
@@ -3936,7 +3936,7 @@ genAtomicWrite width mord addr val = do
   code <- assignMem_IntCode (intFormat width) addr val
   let needs_fence = case mord of
         MemOrderSeqCst  -> True
-        MemOrderRelease -> True
+        MemOrderRelease -> False
         MemOrderAcquire -> pprPanic "genAtomicWrite: acquire ordering on write" empty
         MemOrderRelaxed -> False
   return $ if needs_fence then code `snocOL` MFENCE else code