diff --git a/src/mainapplication.cpp b/src/mainapplication.cpp
index 099781954e38a67b9d75914f4ffb26a2652824f2..7bced74af70dcf057f372017a87f8a4ee2e4b4e9 100644
--- a/src/mainapplication.cpp
+++ b/src/mainapplication.cpp
@@ -148,10 +148,6 @@ MainApplication::MainApplication(int& argc, char** argv)
     : QApplication(argc, argv)
 {
     QObject::connect(this, &QApplication::aboutToQuit, [this] { cleanup(); });
-    QObject::connect(settingsManager_.get(),
-                     &AppSettingsManager::retranslate,
-                     this,
-                     &MainApplication::retranslate);
 }
 
 MainApplication::~MainApplication()
@@ -171,6 +167,11 @@ MainApplication::init()
     systemTray_.reset(new SystemTray(settingsManager_.get(), this));
     previewEngine_.reset(new PreviewEngine(this));
 
+    QObject::connect(settingsManager_.get(),
+                     &AppSettingsManager::retranslate,
+                     engine_.get(),
+                     &QQmlApplicationEngine::retranslate);
+
     setWindowIcon(QIcon(":/images/jami.ico"));
 
 #ifdef Q_OS_LINUX
@@ -265,12 +266,6 @@ MainApplication::restoreApp()
     Q_EMIT lrcInstance_->restoreAppRequested();
 }
 
-void
-MainApplication::retranslate()
-{
-    engine_->retranslate();
-}
-
 void
 MainApplication::initLrc(const QString& downloadUrl, ConnectivityMonitor* cm, bool logDaemon)
 {
diff --git a/src/mainapplication.h b/src/mainapplication.h
index 62eb26f1d8889fff216bce27e12c25d39463d3ed..9de1b751fc5525a549e9134ec04693421800dfd8 100644
--- a/src/mainapplication.h
+++ b/src/mainapplication.h
@@ -79,9 +79,6 @@ private:
     void initSystray();
     void cleanup();
 
-public Q_SLOTS:
-    void retranslate();
-
 private:
     QScopedPointer<QFile> debugFile_;
     QScopedPointer<QQmlApplicationEngine> engine_;