diff --git a/src/modules/partition/gui/PartitionViewStep.cpp b/src/modules/partition/gui/PartitionViewStep.cpp
index a02680a139ddc9c9b730648de2d075327bc89af7..cf13cba21dab9d3c36f6d4ecf15a475236d48ab6 100644
--- a/src/modules/partition/gui/PartitionViewStep.cpp
+++ b/src/modules/partition/gui/PartitionViewStep.cpp
@@ -56,9 +56,9 @@
 PartitionViewStep::PartitionViewStep( QObject* parent )
     : Calamares::ViewStep( parent )
     , m_widget( new QStackedWidget() )
-    , m_core( new PartitionCoreModule( this ) )
+    , m_core( nullptr )
     , m_choicePage( nullptr )
-    , m_manualPartitionPage( new PartitionPage( m_core ) )
+    , m_manualPartitionPage( nullptr )
 {
     m_widget->setContentsMargins( 0, 0, 0, 0 );
 
@@ -73,7 +73,12 @@ PartitionViewStep::PartitionViewStep( QObject* parent )
 void
 PartitionViewStep::continueLoading()
 {
+    Q_ASSERT( !m_core );
     Q_ASSERT( !m_choicePage );
+    Q_ASSERT( !m_manualPartitionPage );
+
+    m_core = new PartitionCoreModule( this );
+    m_manualPartitionPage = new PartitionPage( m_core );
     m_choicePage = new ChoicePage();
 
     m_choicePage->init( m_core );