diff --git a/samples/pdfium_test.cc b/samples/pdfium_test.cc
index b09c9a8..2011f8a 100644
--- a/samples/pdfium_test.cc
+++ b/samples/pdfium_test.cc
@@ -815,7 +815,7 @@
         break;
 #endif
       case OutputFormat::kText:
-        WriteText(page, name.c_str(), page_index);
+        WriteText(text_page.get(), name.c_str(), page_index);
         break;
 
       case OutputFormat::kAnnot:
diff --git a/samples/pdfium_test_write_helper.cc b/samples/pdfium_test_write_helper.cc
index f1f53b4..b6f07ea 100644
--- a/samples/pdfium_test_write_helper.cc
+++ b/samples/pdfium_test_write_helper.cc
@@ -222,7 +222,7 @@
   return std::string(filename);
 }
 
-void WriteText(FPDF_PAGE page, const char* pdf_name, int num) {
+void WriteText(FPDF_TEXTPAGE textpage, const char* pdf_name, int num) {
   char filename[256];
   int chars_formatted =
       snprintf(filename, sizeof(filename), "%s.%d.txt", pdf_name, num);
@@ -246,9 +246,8 @@
     return;
   }
 
-  ScopedFPDFTextPage textpage(FPDFText_LoadPage(page));
-  for (int i = 0; i < FPDFText_CountChars(textpage.get()); i++) {
-    uint32_t c = FPDFText_GetUnicode(textpage.get(), i);
+  for (int i = 0; i < FPDFText_CountChars(textpage); i++) {
+    uint32_t c = FPDFText_GetUnicode(textpage, i);
     if (fwrite(&c, sizeof(c), 1, fp) != 1) {
       fprintf(stderr, "Failed to write to %s\n", filename);
       break;
diff --git a/samples/pdfium_test_write_helper.h b/samples/pdfium_test_write_helper.h
index bb4b1ac..af777b1 100644
--- a/samples/pdfium_test_write_helper.h
+++ b/samples/pdfium_test_write_helper.h
@@ -20,7 +20,7 @@
                      int stride,
                      int width,
                      int height);
-void WriteText(FPDF_PAGE page, const char* pdf_name, int num);
+void WriteText(FPDF_TEXTPAGE textpage, const char* pdf_name, int num);
 void WriteAnnot(FPDF_PAGE page, const char* pdf_name, int num);
 std::string WritePng(const char* pdf_name,
                      int num,
