diff --git a/src/modules/interactiveterminal/InteractiveTerminalViewStep.cpp b/src/modules/interactiveterminal/InteractiveTerminalViewStep.cpp
index 939cc8efa39aeff7bc035831d147ed48d15adbc7..c4705575c4dab9c25998b85f53d577408bfc52d4 100644
--- a/src/modules/interactiveterminal/InteractiveTerminalViewStep.cpp
+++ b/src/modules/interactiveterminal/InteractiveTerminalViewStep.cpp
@@ -22,6 +22,8 @@
 
 #include <QVariant>
 
+CALAMARES_PLUGIN_FACTORY_DEFINITION( InteractiveTerminalViewStepFactory, registerPlugin<InteractiveTerminalViewStep>(); )
+
 InteractiveTerminalViewStep::InteractiveTerminalViewStep( QObject* parent )
     : Calamares::ViewStep( parent )
     , m_widget( new InteractiveTerminalPage() )
diff --git a/src/modules/interactiveterminal/InteractiveTerminalViewStep.h b/src/modules/interactiveterminal/InteractiveTerminalViewStep.h
index 5405c3419421fbd0f407df5299e6437c04b86eae..77f7bdf34c9fcc67382225665922ab07b523702c 100644
--- a/src/modules/interactiveterminal/InteractiveTerminalViewStep.h
+++ b/src/modules/interactiveterminal/InteractiveTerminalViewStep.h
@@ -21,17 +21,16 @@
 
 #include <QObject>
 
-#include "viewpages/ViewStep.h"
-#include "PluginDllMacro.h"
+#include <utils/PluginFactory.h>
+#include <viewpages/ViewStep.h>
+
+#include <PluginDllMacro.h>
 
 class InteractiveTerminalPage;
 
 class PLUGINDLLEXPORT InteractiveTerminalViewStep : public Calamares::ViewStep
 {
     Q_OBJECT
-    Q_PLUGIN_METADATA( IID "calamares.ViewModule/1.0" )
-
-    Q_INTERFACES( Calamares::ViewStep )
 
 public:
     explicit InteractiveTerminalViewStep( QObject* parent = nullptr );
@@ -61,4 +60,6 @@ private:
     InteractiveTerminalPage* m_widget;
 };
 
+CALAMARES_PLUGIN_FACTORY_DECLARATION( InteractiveTerminalViewStepFactory )
+
 #endif // INTERACTIVETERMINALPAGEPLUGIN_H