diff --git a/src/d3d9/d3d9_device.cpp b/src/d3d9/d3d9_device.cpp
index 51e190405..eed54691f 100644
--- a/src/d3d9/d3d9_device.cpp
+++ b/src/d3d9/d3d9_device.cpp
@@ -6086,6 +6086,9 @@ namespace dxvk {
     if constexpr (Synchronize9On12)
       m_submitStatus.result = VK_NOT_READY;
 
+    // Make writes to mapped buffers available
+    bit::sfence();
+
     // Update signaled staging buffer counter and signal the fence
     m_stagingMemorySignaled = m_stagingBuffer.getStatistics().allocatedTotal;