diff --git a/model/src/main/java/lcsb/mapviewer/model/user/User.java b/model/src/main/java/lcsb/mapviewer/model/user/User.java
index b685515b9dde39a415d9fc9d34ff77e6c81b69cf..5d2de091360b816f0bd57d229d312dce2de5c1c8 100644
--- a/model/src/main/java/lcsb/mapviewer/model/user/User.java
+++ b/model/src/main/java/lcsb/mapviewer/model/user/User.java
@@ -2,15 +2,14 @@ package lcsb.mapviewer.model.user;
 
 import java.awt.Color;
 import java.io.Serializable;
-import java.util.Calendar;
-import java.util.HashSet;
-import java.util.Set;
+import java.util.*;
 
 import javax.persistence.*;
 
-import lcsb.mapviewer.model.security.Privilege;
 import org.hibernate.annotations.Cascade;
 
+import lcsb.mapviewer.model.security.Privilege;
+
 @Entity
 public class User implements Serializable {
 
@@ -22,6 +21,7 @@ public class User implements Serializable {
 
   private String login;
 
+  @Column(nullable = false)
   private String cryptedPassword;
 
   private String name;
@@ -32,25 +32,29 @@ public class User implements Serializable {
 
   /**
    * User defined color overriding system
-   * {@link ConfigurationElementType#MIN_COLOR_VAL}. Used for coloring minimum values in overlays.
+   * {@link ConfigurationElementType#MIN_COLOR_VAL}. Used for coloring minimum
+   * values in overlays.
    */
   private Color minColor;
 
   /**
    * User defined color overriding system
-   * {@link ConfigurationElementType#MAX_COLOR_VAL}. Used for coloring maximum values in overlays.
+   * {@link ConfigurationElementType#MAX_COLOR_VAL}. Used for coloring maximum
+   * values in overlays.
    */
   private Color maxColor;
 
   /**
    * User defined color overriding system
-   * {@link ConfigurationElementType#NEUTRAL_COLOR_VAL}. Used for coloring neutral values (0) in overlays.
+   * {@link ConfigurationElementType#NEUTRAL_COLOR_VAL}. Used for coloring neutral
+   * values (0) in overlays.
    */
   private Color neutralColor;
 
   /**
    * User defined color overriding system
-   * {@link ConfigurationElementType#SIMPLE_COLOR_VAL}. Used for coloring overlays without values and colors.
+   * {@link ConfigurationElementType#SIMPLE_COLOR_VAL}. Used for coloring overlays
+   * without values and colors.
    */
   private Color simpleColor;
 
@@ -67,11 +71,7 @@ public class User implements Serializable {
   private Set<Calendar> termsOfUseConsentDates = new HashSet<>();
 
   @ManyToMany(cascade = CascadeType.ALL)
-  @JoinTable(
-      name = "user_privilege_map_table",
-      joinColumns = @JoinColumn(name = "user_id"),
-      inverseJoinColumns = @JoinColumn(name = "privilege_id")
-  )
+  @JoinTable(name = "user_privilege_map_table", joinColumns = @JoinColumn(name = "user_id"), inverseJoinColumns = @JoinColumn(name = "privilege_id"))
   private Set<Privilege> privileges = new HashSet<>();
 
   @OneToOne(cascade = CascadeType.ALL)
diff --git a/persist/src/main/resources/db/migration/14.0.0~alpha.0/V14.0.0.20190722__password_cannot_be_null.sql b/persist/src/main/resources/db/migration/14.0.0~alpha.0/V14.0.0.20190722__password_cannot_be_null.sql
new file mode 100644
index 0000000000000000000000000000000000000000..4269d38f2ce3708600d5ab3e84189ad26432053a
--- /dev/null
+++ b/persist/src/main/resources/db/migration/14.0.0~alpha.0/V14.0.0.20190722__password_cannot_be_null.sql
@@ -0,0 +1,2 @@
+update user_table set crypted_password = '' where crypted_password is null;
+ALTER TABLE user_table ALTER COLUMN crypted_password SET NOT NULL;
diff --git a/persist/src/test/java/lcsb/mapviewer/persist/dao/user/UserDaoTest.java b/persist/src/test/java/lcsb/mapviewer/persist/dao/user/UserDaoTest.java
index 550de175b5db32d39874ba27b1f55b1ffaa156bb..19d7a9804875e7088b8266bc9fbe08471b6fc4f3 100644
--- a/persist/src/test/java/lcsb/mapviewer/persist/dao/user/UserDaoTest.java
+++ b/persist/src/test/java/lcsb/mapviewer/persist/dao/user/UserDaoTest.java
@@ -9,6 +9,7 @@ import java.util.ArrayList;
 
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
+import org.hibernate.PropertyValueException;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -80,6 +81,19 @@ public class UserDaoTest extends PersistTestFunctions {
     }
   }
 
+  @Test(expected = PropertyValueException.class)
+  public void testTryUserWithNullPassword() {
+    try {
+      User user = new User();
+      user.setLogin(testLogin);
+      userDao.add(user);
+
+    } catch (Exception e) {
+      e.printStackTrace();
+      throw e;
+    }
+  }
+
   @Test
   public void testAddDeleteAdd() {
     try {