diff --git a/fpdfsdk/fpdf_edit_embeddertest.cpp b/fpdfsdk/fpdf_edit_embeddertest.cpp
index d29a2d3..f22aa86 100644
--- a/fpdfsdk/fpdf_edit_embeddertest.cpp
+++ b/fpdfsdk/fpdf_edit_embeddertest.cpp
@@ -4004,8 +4004,8 @@
     obj = FPDFPage_GetObject(page, 35);
     ASSERT_EQ(FPDF_PAGEOBJ_IMAGE, FPDFPageObj_GetType(obj));
     ScopedFPDFBitmap bitmap(FPDFImageObj_GetBitmap(obj));
-    EXPECT_EQ(FPDFBitmap_Gray, FPDFBitmap_GetFormat(bitmap.get()));
-    CompareBitmap(bitmap.get(), 92, 68, "9c6d76cb1e37ef8514f9455d759391f3");
+    EXPECT_EQ(FPDFBitmap_BGR, FPDFBitmap_GetFormat(bitmap.get()));
+    CompareBitmap(bitmap.get(), 92, 68, "7e34551035943e30a9f353db17de62ab");
   }
 
   {
@@ -4096,8 +4096,8 @@
   {
     ScopedFPDFBitmap bitmap(FPDFImageObj_GetBitmap(obj));
     ASSERT_TRUE(bitmap);
-    EXPECT_EQ(FPDFBitmap_Gray, FPDFBitmap_GetFormat(bitmap.get()));
-    CompareBitmap(bitmap.get(), 1152, 720, "3f6a48e2b3e91b799bf34567f55cb4de");
+    EXPECT_EQ(FPDFBitmap_BGR, FPDFBitmap_GetFormat(bitmap.get()));
+    CompareBitmap(bitmap.get(), 1152, 720, "0b67a5d69f3f1052abddd5cdd882a126");
   }
 
   UnloadPage(page);
diff --git a/fpdfsdk/fpdf_editimg.cpp b/fpdfsdk/fpdf_editimg.cpp
index 8e3402f..f26c1eb 100644
--- a/fpdfsdk/fpdf_editimg.cpp
+++ b/fpdfsdk/fpdf_editimg.cpp
@@ -27,6 +27,7 @@
 #include "core/fxge/dib/cfx_dibitmap.h"
 #include "fpdfsdk/cpdfsdk_customaccess.h"
 #include "fpdfsdk/cpdfsdk_helpers.h"
+#include "third_party/base/notreached.h"
 
 namespace {
 
@@ -198,13 +199,35 @@
   if (!pSource)
     return nullptr;
 
-  // If the source image has a representation of 1 bit per pixel, then convert
-  // it to a grayscale bitmap having 1 byte per pixel, since bitmaps have no
-  // concept of bits. Otherwise, convert the source image to a bitmap directly,
+  // If the source image has a representation of 1 bit per pixel, or if the
+  // source image has a color palette, convert it to a color representation if
+  // needed to get rid of the palette, as there is no public API to access to
+  // palette.
+  //
+  // Otherwise, convert the source image to a bitmap directly,
   // retaining its color representation.
-  RetainPtr<CFX_DIBitmap> pBitmap =
-      pSource->GetBPP() == 1 ? pSource->ConvertTo(FXDIB_Format::k8bppRgb)
-                             : pSource->Realize();
+  //
+  // Only return FPDF_BITMAPs in formats that FPDFBitmap_CreateEx() would
+  // return.
+  RetainPtr<CFX_DIBitmap> pBitmap;
+  switch (pSource->GetFormat()) {
+    case FXDIB_Format::k1bppMask:
+    case FXDIB_Format::k1bppRgb:
+    case FXDIB_Format::k8bppMask:
+    case FXDIB_Format::k8bppRgb:
+      pBitmap = pSource->ConvertTo(FXDIB_Format::kRgb);
+      break;
+
+    case FXDIB_Format::kArgb:
+    case FXDIB_Format::kRgb:
+    case FXDIB_Format::kRgb32:
+      pBitmap = pSource->Realize();
+      break;
+
+    case FXDIB_Format::kInvalid: {
+      NOTREACHED_NORETURN();
+    }
+  }
 
   return FPDFBitmapFromCFXDIBitmap(pBitmap.Leak());
 }
