diff --git a/src/de/deadlocker8/budgetmaster/ui/controller/SplashScreenController.java b/src/de/deadlocker8/budgetmaster/ui/controller/SplashScreenController.java
index d076e8828ec2dbb0f3410b48b2b1b61e2a709d05..5150ce664adb11e6b799bdb43bae22426a4abcf6 100644
--- a/src/de/deadlocker8/budgetmaster/ui/controller/SplashScreenController.java
+++ b/src/de/deadlocker8/budgetmaster/ui/controller/SplashScreenController.java
@@ -8,6 +8,7 @@ import de.deadlocker8.budgetmaster.logic.utils.FileHelper;
 import de.deadlocker8.budgetmaster.logic.utils.Helpers;
 import de.deadlocker8.budgetmaster.logic.utils.Strings;
 import de.deadlocker8.budgetmaster.ui.Styleable;
+import de.deadlocker8.budgetmaster.ui.customAlert.CustomAlertController;
 import fontAwesome.FontIconType;
 import javafx.application.Platform;
 import javafx.fxml.FXML;
@@ -69,9 +70,10 @@ public class SplashScreenController extends BaseController implements Styleable
 	
 		applyStyle();
 		
-		textFieldPassword.setOnKeyReleased((event)->{
+		textFieldPassword.setOnKeyReleased((event)->{			
 			if(event.getCode() == KeyCode.ENTER)
 			{
+				event.consume();
 				login();
 			}
 		});
@@ -177,14 +179,7 @@ public class SplashScreenController extends BaseController implements Styleable
 			//check password
 			if(!HashUtils.hash(password, Helpers.SALT).equals(settings.getClientSecret()))
 			{
-				AlertGenerator.showAlert(AlertType.WARNING, 
-										Localization.getString(Strings.TITLE_WARNING), 
-										"", 
-										Localization.getString(Strings.WARNING_WRONG_PASSWORD),
-										icon, 
-										getStage(), 
-										null, 
-										false);
+				new CustomAlertController(getStage(), this, AlertType.WARNING, Localization.getString(Strings.TITLE_WARNING), Localization.getString(Strings.WARNING_WRONG_PASSWORD));
 				return;
 			}
 			
@@ -197,6 +192,11 @@ public class SplashScreenController extends BaseController implements Styleable
 	{
 		new Controller(settings);
 	}
+	
+	public Image getIcon()
+	{
+		return icon;
+	}
 
 	@Override
 	public void applyStyle()
diff --git a/src/de/deadlocker8/budgetmaster/ui/customAlert/CustomAlert.fxml b/src/de/deadlocker8/budgetmaster/ui/customAlert/CustomAlert.fxml
new file mode 100644
index 0000000000000000000000000000000000000000..8d850119d369ce4a86164590ee6aee6590961979
--- /dev/null
+++ b/src/de/deadlocker8/budgetmaster/ui/customAlert/CustomAlert.fxml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.geometry.Insets?>
+<?import javafx.scene.control.Button?>
+<?import javafx.scene.control.Label?>
+<?import javafx.scene.image.ImageView?>
+<?import javafx.scene.layout.AnchorPane?>
+<?import javafx.scene.layout.HBox?>
+<?import javafx.scene.layout.VBox?>
+
+<AnchorPane fx:id="anchorPaneMain" prefHeight="90.0" prefWidth="400.0" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1">
+   <children>
+      <VBox layoutX="14.0" layoutY="14.0" AnchorPane.bottomAnchor="14.0" AnchorPane.leftAnchor="14.0" AnchorPane.rightAnchor="14.0" AnchorPane.topAnchor="14.0">
+         <children>
+            <HBox spacing="14.0" VBox.vgrow="ALWAYS">
+               <children>
+                  <ImageView fx:id="imageView" fitHeight="45.0" fitWidth="45.0" pickOnBounds="true" preserveRatio="true" />
+                  <Label fx:id="labelMessage" maxWidth="1.7976931348623157E308" HBox.hgrow="ALWAYS">
+                     <HBox.margin>
+                        <Insets top="3.0" />
+                     </HBox.margin></Label>
+               </children>
+            </HBox>
+            <HBox alignment="CENTER_RIGHT">
+               <children>
+                  <Button minWidth="75.0" mnemonicParsing="false" onAction="#confirm" prefWidth="75.0" text="%ok" />
+               </children>
+            </HBox>
+         </children>
+      </VBox>
+   </children>
+</AnchorPane>
diff --git a/src/de/deadlocker8/budgetmaster/ui/customAlert/CustomAlertController.java b/src/de/deadlocker8/budgetmaster/ui/customAlert/CustomAlertController.java
new file mode 100644
index 0000000000000000000000000000000000000000..7c232d0a40d8864671dc46f150c690516f81944e
--- /dev/null
+++ b/src/de/deadlocker8/budgetmaster/ui/customAlert/CustomAlertController.java
@@ -0,0 +1,87 @@
+package de.deadlocker8.budgetmaster.ui.customAlert;
+
+import de.deadlocker8.budgetmaster.ui.controller.BaseController;
+import de.deadlocker8.budgetmaster.ui.controller.SplashScreenController;
+import javafx.fxml.FXML;
+import javafx.scene.control.Alert.AlertType;
+import javafx.scene.control.Label;
+import javafx.scene.image.Image;
+import javafx.scene.image.ImageView;
+import javafx.scene.input.KeyCode;
+import javafx.scene.layout.AnchorPane;
+import javafx.stage.Modality;
+import javafx.stage.Stage;
+import tools.Localization;
+
+public class CustomAlertController extends BaseController
+{
+	@FXML private AnchorPane anchorPaneMain;
+	@FXML private ImageView imageView;
+	@FXML private Label labelMessage;
+
+	private Stage parentStage;
+	private SplashScreenController controller;
+	private AlertType alertType;
+	private String title;
+	private String message;
+
+	public CustomAlertController(Stage parentStage, SplashScreenController controller, AlertType alertType, String title, String message)
+	{
+		this.parentStage = parentStage;
+		this.controller = controller;
+		this.alertType = alertType;
+		this.title = title;
+		this.message = message;
+		load("/de/deadlocker8/budgetmaster/ui/customAlert/CustomAlert.fxml", Localization.getBundle());
+		getStage().showAndWait();
+	}
+
+	@Override
+	public void initStage(Stage stage)
+	{
+		stage.initOwner(parentStage);
+		stage.initModality(Modality.APPLICATION_MODAL);
+		stage.setTitle(title);
+		stage.getIcons().add(controller.getIcon());
+		stage.setResizable(false);
+	}
+
+	@Override
+	public void init()
+	{
+		labelMessage.setText(message);		
+		
+		getStage().getScene().setOnKeyReleased((event)->{			
+			event.consume();
+			if(event.getCode().equals(KeyCode.ENTER))
+			{
+				confirm();
+			}			
+		});
+
+		switch(alertType)
+		{
+			case CONFIRMATION:
+				imageView.setImage(new Image("/com/sun/javafx/scene/control/skin/modena/dialog-confirmation.png"));
+				break;
+			case ERROR:
+				imageView.setImage(new Image("/com/sun/javafx/scene/control/skin/modena/dialog-error.png"));
+				break;
+			case INFORMATION:
+				imageView.setImage(new Image("/com/sun/javafx/scene/control/skin/modena/dialog-information.png"));
+				break;
+			case WARNING:
+				imageView.setImage(new Image("/com/sun/javafx/scene/control/skin/modena/dialog-warning.png"));
+				break;
+			default:
+				imageView.setImage(new Image("/com/sun/javafx/scene/control/skin/modena/dialog-information.png"));
+				break;
+		}
+	}
+
+	@FXML
+	public void confirm()
+	{
+		getStage().close();
+	}
+}
\ No newline at end of file