diff --git a/actors/sunbird-lms-mw/actors/common/src/main/java/org/sunbird/learner/actors/search/SearchHandlerActor.java b/actors/sunbird-lms-mw/actors/common/src/main/java/org/sunbird/learner/actors/search/SearchHandlerActor.java
index e38081396dc4f37e10a1586844ec7fbe33717e3b..a0f0aff2cc3cbc35997d6dd0d67266d495e328db 100644
--- a/actors/sunbird-lms-mw/actors/common/src/main/java/org/sunbird/learner/actors/search/SearchHandlerActor.java
+++ b/actors/sunbird-lms-mw/actors/common/src/main/java/org/sunbird/learner/actors/search/SearchHandlerActor.java
@@ -224,7 +224,9 @@ public class SearchHandlerActor extends BaseActor {
                           scope -> {
                             String orgId = scope.get(JsonKey.ORGANISATION_ID);
                             Map<String, Object> userOrg = userOrgIdMap.get(orgId);
-                            ((List) userOrg.get(JsonKey.ROLES)).add(userRole);
+                            if (MapUtils.isNotEmpty(userOrg)) {
+                              ((List) userOrg.get(JsonKey.ROLES)).add(userRole);
+                            }
                           });
                 });
       }
diff --git a/actors/sunbird-lms-mw/actors/user/src/main/java/org/sunbird/user/actors/UserOrgManagementActor.java b/actors/sunbird-lms-mw/actors/user/src/main/java/org/sunbird/user/actors/UserOrgManagementActor.java
index 5092711c4b25cf27561b3e6aaa356cb765179a79..882ddb27df2fc939de1ad0196948c10378877dcb 100644
--- a/actors/sunbird-lms-mw/actors/user/src/main/java/org/sunbird/user/actors/UserOrgManagementActor.java
+++ b/actors/sunbird-lms-mw/actors/user/src/main/java/org/sunbird/user/actors/UserOrgManagementActor.java
@@ -39,26 +39,24 @@ public class UserOrgManagementActor extends BaseActor {
 
   private void insertUserOrgDetails(Request request) {
     Map<String, Object> requestMap = request.getRequest();
+    String callerId = (String) requestMap.remove(JsonKey.CALLER_ID);
     // Register user to given orgId(not root orgId)
     String organisationId = (String) requestMap.get(JsonKey.ORGANISATION_ID);
+    if (StringUtils.isNotBlank(callerId)) {
+      requestMap.put(JsonKey.ASSOCIATION_TYPE, AssociationMechanism.SYSTEM_UPLOAD);
+    }
     if (StringUtils.isNotBlank(organisationId)) {
-      String callerId = (String) requestMap.remove(JsonKey.CALLER_ID);
-      if (StringUtils.isNotBlank(callerId)) {
-        requestMap.put(JsonKey.ASSOCIATION_TYPE, AssociationMechanism.SYSTEM_UPLOAD);
-      }
-
       requestMap.put(JsonKey.HASHTAGID, organisationId);
       Util.registerUserToOrg(requestMap, request.getRequestContext());
-
-      if ((StringUtils.isNotBlank(organisationId)
-              && StringUtils.isNotBlank((String) requestMap.get(JsonKey.ROOT_ORG_ID))
-              && !organisationId.equalsIgnoreCase((String) requestMap.get(JsonKey.ROOT_ORG_ID)))
-          || StringUtils.isBlank(organisationId)) {
-        // Add user to root org
-        requestMap.put(JsonKey.ORGANISATION_ID, requestMap.get(JsonKey.ROOT_ORG_ID));
-        requestMap.put(JsonKey.HASHTAGID, requestMap.get(JsonKey.ORGANISATION_ID));
-        Util.registerUserToOrg(requestMap, request.getRequestContext());
-      }
+    }
+    if ((StringUtils.isNotBlank(organisationId)
+            && StringUtils.isNotBlank((String) requestMap.get(JsonKey.ROOT_ORG_ID))
+            && !organisationId.equalsIgnoreCase((String) requestMap.get(JsonKey.ROOT_ORG_ID)))
+        || StringUtils.isBlank(organisationId)) {
+      // Add user to root org
+      requestMap.put(JsonKey.ORGANISATION_ID, requestMap.get(JsonKey.ROOT_ORG_ID));
+      requestMap.put(JsonKey.HASHTAGID, requestMap.get(JsonKey.ORGANISATION_ID));
+      Util.registerUserToOrg(requestMap, request.getRequestContext());
     }
     Response response = new Response();
     response.put(JsonKey.RESPONSE, JsonKey.SUCCESS);
@@ -67,31 +65,28 @@ public class UserOrgManagementActor extends BaseActor {
 
   private void updateUserOrgDetails(Request request) {
     Map<String, Object> requestMap = request.getRequest();
+    String callerId = (String) requestMap.remove(JsonKey.CALLER_ID);
     String organisationId = (String) requestMap.get(JsonKey.ORGANISATION_ID);
+    List<Map<String, Object>> userOrgListDb =
+        UserUtil.getUserOrgDetails(
+            false, (String) requestMap.get(JsonKey.ID), request.getRequestContext());
+    Map<String, Object> userOrgDbMap = new HashMap<>();
+    if (CollectionUtils.isNotEmpty(userOrgListDb)) {
+      userOrgListDb.forEach(
+          userOrg -> userOrgDbMap.put((String) userOrg.get(JsonKey.ORGANISATION_ID), userOrg));
+    }
     if (StringUtils.isNotBlank(organisationId)) {
-      String callerId = (String) requestMap.remove(JsonKey.CALLER_ID);
-      List<Map<String, Object>> userOrgListDb =
-          UserUtil.getUserOrgDetails(
-              false, (String) requestMap.get(JsonKey.ID), request.getRequestContext());
-      Map<String, Object> userOrgDbMap = new HashMap<>();
-      if (CollectionUtils.isNotEmpty(userOrgListDb)) {
-        userOrgListDb.forEach(
-            userOrg -> userOrgDbMap.put((String) userOrg.get(JsonKey.ORGANISATION_ID), userOrg));
-      }
-
       Map<String, Object> userOrg = (Map<String, Object>) userOrgDbMap.get(organisationId);
       requestMap.put(JsonKey.ASSOCIATION_TYPE, getAssociationType(userOrg, callerId, requestMap));
       Util.upsertUserOrgData(requestMap, request.getRequestContext());
-
-      if ((StringUtils.isNotBlank(organisationId)
-              && !organisationId.equalsIgnoreCase((String) requestMap.get(JsonKey.ROOT_ORG_ID)))
-          || StringUtils.isBlank(organisationId)) {
-        Map<String, Object> rootUserOrg =
-            (Map<String, Object>) userOrgDbMap.get(requestMap.get(JsonKey.ROOT_ORG_ID));
-        requestMap.put(
-            JsonKey.ASSOCIATION_TYPE, getAssociationType(rootUserOrg, callerId, requestMap));
-        Util.upsertUserOrgData(requestMap, request.getRequestContext());
-      }
+    }
+    if ((StringUtils.isNotBlank(organisationId)
+            && !organisationId.equalsIgnoreCase((String) requestMap.get(JsonKey.ROOT_ORG_ID)))
+        || StringUtils.isBlank(organisationId)) {
+      Map<String, Object> userOrg =
+          (Map<String, Object>) userOrgDbMap.get(requestMap.get(JsonKey.ROOT_ORG_ID));
+      requestMap.put(JsonKey.ASSOCIATION_TYPE, getAssociationType(userOrg, callerId, requestMap));
+      Util.upsertUserOrgData(requestMap, request.getRequestContext());
     }
     Response response = new Response();
     response.put(JsonKey.RESPONSE, JsonKey.SUCCESS);