diff --git a/core/fpdfapi/page/cpdf_dib.cpp b/core/fpdfapi/page/cpdf_dib.cpp
index 7559eeb..f1c2755 100644
--- a/core/fpdfapi/page/cpdf_dib.cpp
+++ b/core/fpdfapi/page/cpdf_dib.cpp
@@ -1133,10 +1133,8 @@
 }
 
 pdfium::span<const uint8_t> CPDF_DIB::GetBuffer() const {
-  // TODO(crbug.com/pdfium/2050): Reuse buffer from `m_pCachedBitmap`. This
-  // doesn't work right now because `LoadJpxBitmap()` doesn't generate a bitmap
-  // in the same format as `GetScanline()`.
-  return pdfium::span<const uint8_t>();
+  return m_pCachedBitmap ? m_pCachedBitmap->GetBuffer()
+                         : pdfium::span<const uint8_t>();
 }
 
 pdfium::span<const uint8_t> CPDF_DIB::GetScanline(int line) const {
diff --git a/core/fpdfapi/page/cpdf_pageimagecache.cpp b/core/fpdfapi/page/cpdf_pageimagecache.cpp
index cba999b..e470169 100644
--- a/core/fpdfapi/page/cpdf_pageimagecache.cpp
+++ b/core/fpdfapi/page/cpdf_pageimagecache.cpp
@@ -110,8 +110,11 @@
                                        bool realize_hint) {
 #if defined(_SKIA_SUPPORT_)
   if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer()) {
-    // Ignore `realize_hint`, as `RealizeSkImage()` doesn't benefit from it.
-    return pdfium::MakeRetain<CachedImage>(std::move(image));
+    // TODO(crbug.com/pdfium/2050): Ignore `realize_hint`, as `RealizeSkImage()`
+    // doesn't benefit from it. The current behavior masks a bug in `CPDF_DIB`
+    // in which `GetBuffer()` and `GetScanline()` don't give the same answer.
+    return pdfium::MakeRetain<CachedImage>(realize_hint ? image->Realize()
+                                                        : std::move(image));
   }
 #endif  // defined(_SKIA_SUPPORT_)
   return realize_hint ? image->Realize() : image;
