diff --git a/src/cutecoin/core/app.py b/src/cutecoin/core/app.py
index d584843aa7fc514eb4669e93793bab18771bf132..9c43fbccdcc6e787de8e60619715054d07878381 100644
--- a/src/cutecoin/core/app.py
+++ b/src/cutecoin/core/app.py
@@ -35,7 +35,7 @@ class Application(QObject):
     loading_progressed = pyqtSignal(int, int)
     version_requested = pyqtSignal()
 
-    def __init__(self, argv):
+    def __init__(self, argv, qapp):
         '''
         Create a new "cutecoin" application
 
@@ -57,9 +57,9 @@ class Application(QObject):
 
         self.load()
 
-        translator = QTranslator()
+        translator = QTranslator(qapp)
         logging.debug("Loading translations")
-        locale = QLocale().system().name()
+        locale = self.preferences['lang']
         if translator.load(":/i18n/{0}".format(locale)):
             if QCoreApplication.installTranslator(translator):
                 logging.debug("Loaded i18n/{0}".format(locale))
diff --git a/src/cutecoin/main.py b/src/cutecoin/main.py
index 9fec08e2b9810d1a98bc47cb541ecde5f69a9bfd..f1a102a13d3e8e80f790954efe251c7a70f4dfda 100755
--- a/src/cutecoin/main.py
+++ b/src/cutecoin/main.py
@@ -17,7 +17,7 @@ if __name__ == '__main__':
     signal.signal(signal.SIGINT, signal.SIG_DFL)
 
     cutecoin = QApplication(sys.argv)
-    app = Application(sys.argv)
+    app = Application(sys.argv, cutecoin)
     window = MainWindow(app)
     window.showMaximized()
     sys.exit(cutecoin.exec_())