diff --git a/src/designer/src/designer/qdesigner.cpp b/src/designer/src/designer/qdesigner.cpp
index d55c504fb2935286ea841b07698e0cee3bedb67e..b8136cab008c6a0ad07399fdf1959c92aa5e7a66 100644
--- a/src/designer/src/designer/qdesigner.cpp
+++ b/src/designer/src/designer/qdesigner.cpp
@@ -209,19 +209,14 @@ void QDesigner::initialize()
     QString resourceDir = QLibraryInfo::location(QLibraryInfo::TranslationsPath);
     parseCommandLineArgs(files, resourceDir);
 
-    QTranslator *translator = new QTranslator(this);
-    QTranslator *qtTranslator = new QTranslator(this);
-
     const QString localSysName = QLocale::system().name();
-    QString  translatorFileName = QStringLiteral("designer_");
-    translatorFileName += localSysName;
-    translator->load(translatorFileName, resourceDir);
-
-    translatorFileName = QStringLiteral("qt_");
-    translatorFileName += localSysName;
-    qtTranslator->load(translatorFileName, resourceDir);
-    installTranslator(translator);
-    installTranslator(qtTranslator);
+    QScopedPointer<QTranslator> designerTranslator(new QTranslator(this));
+    if (designerTranslator->load(QStringLiteral("designer_") + localSysName, resourceDir)) {
+        installTranslator(designerTranslator.take());
+        QScopedPointer<QTranslator> qtTranslator(new QTranslator(this));
+        if (qtTranslator->load(QStringLiteral("qt_") + localSysName, resourceDir))
+            installTranslator(qtTranslator.take());
+    }
 
     m_workbench = new QDesignerWorkbench();