diff --git a/src/main/java/sh/libre/scim/core/UserAdapter.java b/src/main/java/sh/libre/scim/core/UserAdapter.java
index fac1f99665be9bb4afcc2f3289a0b87a390f5580..1aac599ec5651b1e7b7c4e5e6121194a69aeeec4 100644
--- a/src/main/java/sh/libre/scim/core/UserAdapter.java
+++ b/src/main/java/sh/libre/scim/core/UserAdapter.java
@@ -102,8 +102,21 @@ public class UserAdapter extends Adapter<UserModel, UserResource> {
                 .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));
+            var roleStream = user.getRoleMappingsStream();
+            if (rolesSet == null) {
+                LOGGER.error("role stream is null");
+            }
+            roleStream.filter((r) -> {
+                var attr = r.getFirstAttribute("scim");
+                if (attr == null) {
+                    LOGGER.debug("attribute is null");
+                    return false;
+                }
+                return attr.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));
         } catch (Exception e) {
             LOGGER.error(e);
         }