diff --git a/src/main/java/sh/libre/scim/core/UserAdapter.java b/src/main/java/sh/libre/scim/core/UserAdapter.java
index bc233cb3b77792a7f511a4921e4ac83df51f856e..86262bf63723137e87ed428931db458fcbea8ee1 100644
--- a/src/main/java/sh/libre/scim/core/UserAdapter.java
+++ b/src/main/java/sh/libre/scim/core/UserAdapter.java
@@ -100,8 +100,12 @@ public class UserAdapter extends Adapter<UserModel, UserResource> {
         user.getGroupsStream().flatMap(g -> g.getRoleMappingsStream())
                 .filter((r) -> r.getFirstAttribute("scim").equals("true")).map((r) -> r.getName())
                 .forEach(r -> rolesSet.add(r));
-        user.getRoleMappingsStream().filter((r) -> r.getFirstAttribute("scim").equals("true"))
-                .map((r) -> r.getName()).forEach(r -> rolesSet.add(r));
+        // Bug when new user.
+        try {
+            user.getRoleMappingsStream().filter((r) -> r.getFirstAttribute("scim").equals("true"))
+                    .map((r) -> r.getName()).forEach(r -> rolesSet.add(r));
+        } catch (Exception e) {
+        }
         var roles = new String[rolesSet.size()];
         rolesSet.toArray(roles);
         setRoles(roles);