Index: /trunk/src/VBox/Storage/VD.cpp
===================================================================
--- /trunk/src/VBox/Storage/VD.cpp	(revision 75350)
+++ /trunk/src/VBox/Storage/VD.cpp	(revision 75351)
@@ -7081,7 +7081,8 @@
                          * bigger than the source.
                          */
-                        if (uOffset < pCurrImage->cbImage)
+                        uint64_t cbImage = vdImageGetSize(pCurrImage);
+                        if (uOffset < cbImage)
                         {
-                            cbThisRead = RT_MIN(cbThisRead, pCurrImage->cbImage - uOffset);
+                            cbThisRead = RT_MIN(cbThisRead, cbImage - uOffset);
                             rc = pCurrImage->Backend->pfnRead(pCurrImage->pBackendData,
                                                               uOffset, cbThisRead,
@@ -7218,7 +7219,8 @@
                      * bigger than the source.
                      */
-                    if (uOffset < pCurrImage->cbImage)
+                    uint64_t cbImage = vdImageGetSize(pCurrImage);
+                    if (uOffset < cbImage)
                     {
-                        cbThisRead = RT_MIN(cbThisRead, pCurrImage->cbImage - uOffset);
+                        cbThisRead = RT_MIN(cbThisRead, cbImage - uOffset);
                         rc = pCurrImage->Backend->pfnRead(pCurrImage->pBackendData,
                                                           uOffset, cbThisRead,
