diff --git a/mboxd_pnor_partition_table.cpp b/mboxd_pnor_partition_table.cpp
index 3a09c92..84a0314 100644
--- a/mboxd_pnor_partition_table.cpp
+++ b/mboxd_pnor_partition_table.cpp
@@ -22,9 +22,7 @@
         strcpy(context->paths.prsv_loc, PARTITION_FILES_PRSV_LOC);
         strcpy(context->paths.patch_loc, PARTITION_FILES_PATCH_LOC);
 
-        context->vpnor = new vpnor_partition_table;
-        context->vpnor->table = new openpower::virtual_pnor::partition::Table(
-            1 << context->erase_size_shift, context->flash_size);
+        vpnor_create_partition_table_from_path(context, PARTITION_FILES_RO_LOC);
     }
 }
 
@@ -78,8 +76,11 @@
     constexpr size_t tocMaxSize = 0x8000;
     constexpr size_t tocStart = pnorSize - tocMaxSize - pageSize;
     constexpr auto blPartitionName = "HBB";
+    namespace fs = std::experimental::filesystem;
 
-    openpower::virtual_pnor::partition::Table blTable(eraseSize, pnorSize);
+    openpower::virtual_pnor::partition::Table blTable(
+        fs::path{PARTITION_FILES_RO_LOC}, eraseSize, pnorSize);
+
     vpnor_partition_table vtbl{};
     vtbl.table = &blTable;
     struct mbox_context local
diff --git a/pnor_partition_table.cpp b/pnor_partition_table.cpp
index d4c569c..b0d002e 100644
--- a/pnor_partition_table.cpp
+++ b/pnor_partition_table.cpp
@@ -20,11 +20,6 @@
 namespace partition
 {
 
-Table::Table(size_t blockSize, size_t pnorSize) :
-    Table(fs::path(PARTITION_FILES_RO_LOC), blockSize, pnorSize)
-{
-}
-
 Table::Table(fs::path&& directory, size_t blockSize, size_t pnorSize) :
     szBlocks(0), directory(std::move(directory)), numParts(0),
     blockSize(blockSize), pnorSize(pnorSize)
diff --git a/pnor_partition_table.hpp b/pnor_partition_table.hpp
index d470822..1105134 100644
--- a/pnor_partition_table.hpp
+++ b/pnor_partition_table.hpp
@@ -94,13 +94,6 @@
      */
     Table(fs::path&& directory, size_t blockSize, size_t pnorSize);
 
-    /** @brief Constructor - creates partition table
-     *
-     *  @param[in] blockSize - PNOR block size, in bytes
-     *  @param[in] pnorSize - PNOR size, in bytes
-     */
-    Table(size_t blockSize, size_t pnorSize);
-
     Table(const Table&) = delete;
     Table& operator=(const Table&) = delete;
     Table(Table&&) = delete;
