Index: /trunk/src/VBox/Storage/VD.cpp
===================================================================
--- /trunk/src/VBox/Storage/VD.cpp	(revision 40679)
+++ /trunk/src/VBox/Storage/VD.cpp	(revision 40680)
@@ -5426,4 +5426,5 @@
 
         pImage->uOpenFlags = uOpenFlags & (VD_OPEN_FLAGS_HONOR_SAME | VD_OPEN_FLAGS_DISCARD | VD_OPEN_FLAGS_IGNORE_FLUSH);
+        pImage->VDIo.fIgnoreFlush = (uOpenFlags & VD_OPEN_FLAGS_IGNORE_FLUSH) != 0;
         rc = pImage->Backend->pfnOpen(pImage->pszFilename,
                                       uOpenFlags & ~(VD_OPEN_FLAGS_HONOR_SAME | VD_OPEN_FLAGS_IGNORE_FLUSH),
@@ -5462,5 +5463,4 @@
 
         pImage->VDIo.pBackendData = pImage->pBackendData;
-        pImage->VDIo.fIgnoreFlush = (uOpenFlags & VD_OPEN_FLAGS_IGNORE_FLUSH) != 0;
 
         /* Check image type. As the image itself has only partial knowledge
@@ -6216,4 +6216,5 @@
 
         pImage->uOpenFlags = uOpenFlags & VD_OPEN_FLAGS_HONOR_SAME;
+        pImage->VDIo.fIgnoreFlush = (uOpenFlags & VD_OPEN_FLAGS_IGNORE_FLUSH) != 0;
         uImageFlags |= VD_IMAGE_FLAGS_DIFF;
         rc = pImage->Backend->pfnCreate(pImage->pszFilename, pDisk->cbSize,
@@ -6231,5 +6232,4 @@
         {
             pImage->VDIo.pBackendData = pImage->pBackendData;
-            pImage->VDIo.fIgnoreFlush = (uOpenFlags & VD_OPEN_FLAGS_IGNORE_FLUSH) != 0;
             pImage->uImageFlags = uImageFlags;
 
@@ -6465,4 +6465,5 @@
 
         pCache->uOpenFlags = uOpenFlags & VD_OPEN_FLAGS_HONOR_SAME;
+        pCache->VDIo.fIgnoreFlush = (uOpenFlags & VD_OPEN_FLAGS_IGNORE_FLUSH) != 0;
         rc = pCache->Backend->pfnCreate(pCache->pszFilename, cbSize,
                                         uImageFlags,
@@ -6483,5 +6484,4 @@
 
             pCache->VDIo.pBackendData = pCache->pBackendData;
-            pCache->VDIo.fIgnoreFlush = (uOpenFlags & VD_OPEN_FLAGS_IGNORE_FLUSH) != 0;
 
             /* Re-check state, as the lock wasn't held and another image
