diff --git a/soitool/codebook_to_pdf.py b/soitool/codebook_to_pdf.py
index ea3aa2222cb2446875b18bafe835877eb49c7479..2e2635172f107564ba28287640c5adc2b2287042 100644
--- a/soitool/codebook_to_pdf.py
+++ b/soitool/codebook_to_pdf.py
@@ -191,11 +191,10 @@ class CodeAndDecodebookDocTemplate(SimpleDocTemplate):
         # it is the title on the first page of decodebook.
         if isinstance(flowable, Paragraph):
             # Save startpage-number to get correct total, individual pagecount.
-            # pylint: disable=W0212
-            self.canv.decodebook_startpage = self.canv._pageNumber - 1
+            self.canv.decodebook_startpage = self.canv.getPageNumber() - 1
 
             # Reset page number
-            self.canv._pageNumber = 1  # pylint: disable=W0212
+            self.canv.reset_page_number()
             self.canv.draw_page_count = True
 
         if isinstance(flowable, PageBreak):
@@ -238,6 +237,10 @@ class CodeAndDecodebookCanvas(canvas.Canvas):
         self.draw_page_count = True
         self.decodebook_startpage = 0
 
+    def reset_page_number(self):
+        """Reset page-number (to 1)."""
+        self._pageNumber = 1
+
     def showPage(self):
         """On a page break, add page data."""
         self.pages.append(dict(self.__dict__))