diff --git a/src/modules/partition/gui/PartitionPage.h b/src/modules/partition/gui/PartitionPage.h
index 64822ef460c08a4cc15b0f8c07f87a3b78e65f88..402d11552c3ea42a62f15ed174b1cf5304598ab6 100644
--- a/src/modules/partition/gui/PartitionPage.h
+++ b/src/modules/partition/gui/PartitionPage.h
@@ -42,11 +42,12 @@ public:
     explicit PartitionPage( PartitionCoreModule* core, QWidget* parent = nullptr );
     ~PartitionPage();
 
+    void onRevertClicked();
+
 private:
     QScopedPointer< Ui_PartitionPage > m_ui;
     PartitionCoreModule* m_core;
     void updateButtons();
-    void onRevertClicked();
     void onNewPartitionTableClicked();
     void onCreateClicked();
     void onEditClicked();
diff --git a/src/modules/partition/gui/PartitionViewStep.cpp b/src/modules/partition/gui/PartitionViewStep.cpp
index 5def97f5141e9766adbeaa0abc59913a2d01d4c5..2ccc19bfbd80becf07aa137405dd099e772aa982 100644
--- a/src/modules/partition/gui/PartitionViewStep.cpp
+++ b/src/modules/partition/gui/PartitionViewStep.cpp
@@ -264,7 +264,11 @@ PartitionViewStep::next()
     if ( m_choicePage == m_widget->currentWidget() )
     {
         if ( m_choicePage->currentChoice() == ChoicePage::Manual )
+        {
             m_widget->setCurrentWidget( m_manualPartitionPage );
+            if ( m_core->isDirty() )
+                m_manualPartitionPage->onRevertClicked();
+        }
         else if ( m_choicePage->currentChoice() == ChoicePage::Erase )
         {
             emit done();