diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/LoginController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/LoginController.java
index bb09e4518c634f517185a5dbd2ce4f3691b4fa6b..3dd94f73bd1c46c65bedcf6a0cbf8b00310cacf8 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/LoginController.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/LoginController.java
@@ -2,7 +2,9 @@ package de.hdm_stuttgart.battlearena.Controller;
 
 import de.hdm_stuttgart.battlearena.Controller.Utilities.SceneLoader;
 import de.hdm_stuttgart.battlearena.Model.DataStorage.Classes.Exceptions.DatabaseException;
+import de.hdm_stuttgart.battlearena.Model.DataStorage.Classes.Exceptions.ParserException;
 import de.hdm_stuttgart.battlearena.Model.DataStorage.Classes.Persistence;
+import de.hdm_stuttgart.battlearena.Model.DataStorage.Classes.Utilities.Parser;
 import javafx.application.Platform;
 import javafx.fxml.FXML;
 import javafx.scene.control.Label;
@@ -36,11 +38,15 @@ public class LoginController {
     Thread thread = new Thread(() -> {
         try {
             persistence.login(playerName.getText(), password.getText());
+            persistence.loadPlayerStatistics();
+            Parser.playerStatsValid(persistence.getStatistics());
             Platform.runLater(() -> switchScene("MainMenu"));
         } catch (NoSuchAlgorithmException e) {
             throw new RuntimeException(e);
         } catch (DatabaseException e) {
             Platform.runLater(() -> errorMessage.setText(e.getMessage()));
+        } catch (ParserException e) {
+            throw new RuntimeException(e);
         }
     });
 
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/Persistence.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/Persistence.java
index 09485bed5dce623ca33d4866542a4db7b498ecf9..9291ee84f4f5721980c84957f9e7f58532f46e8c 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/Persistence.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/Persistence.java
@@ -465,25 +465,16 @@ public class Persistence {
         try {
             String hash = HashGenerator.hashAndHex(password);
             if (hash.equals(db.checkCredentials(userName))) {
-                PlayerAccount playerAccount = new PlayerAccount(userName, hash, AccountType.ONLINE);
-                gsonHandler.saveAccount(playerAccount);
-                gsonHandler.loadAccount();
-                db.getStatistics(userName);
-                Parser.playerStatsValid(statistics);
+                account = new PlayerAccount(userName, hash, AccountType.ONLINE);
+                gsonHandler.saveAccount(account);
                 log.info("Login successful!");
             } else {
-                throw new DatabaseException();
+                throw new DatabaseException("Wrong password!");
             }
         }
         catch (GSONException | SQLException e) {
             throw new RuntimeException(e);
         }
-        catch (DatabaseException e) {
-            throw new DatabaseException("Wrong password!");
-        }
-        catch (ParserException e) {
-            throw new DatabaseException("Player statistics data corrupted!");
-        }
     }
 
 }