diff --git a/service/src/main/java/org/sunbird/actor/user/UserUpdateActor.java b/service/src/main/java/org/sunbird/actor/user/UserUpdateActor.java
index eea84c57c66b58edb1a22ecc40133711dc5da951..2c80cdd106cf320a664a0be0bf7da74a63907a92 100644
--- a/service/src/main/java/org/sunbird/actor/user/UserUpdateActor.java
+++ b/service/src/main/java/org/sunbird/actor/user/UserUpdateActor.java
@@ -96,7 +96,6 @@ public class UserUpdateActor extends UserBaseActor {
       populateLocationCodesFromProfileLocation(userMap);
     }
     validateAndGetLocationCodes(actorMessage);
-    convertValidatedLocationCodesToIDs(userMap, actorMessage.getRequestContext());
     if (actorMessage.getOperation().equalsIgnoreCase(ActorOperations.UPDATE_USER.getValue())) {
       userMap.remove(JsonKey.PROFILE_USERTYPES);
       userMap.remove(JsonKey.PROFILE_USERTYPE);
@@ -165,6 +164,7 @@ public class UserUpdateActor extends UserBaseActor {
         user, JsonKey.UPDATE, actorMessage.getRequestContext());
     // not allowing user to update the status,provider,userName
     removeFieldsFrmReq(userMap);
+    convertValidatedLocationCodesToIDs(userMap, actorMessage.getRequestContext());
     userMap.put(JsonKey.UPDATED_DATE, ProjectUtil.getFormattedDate());
     if (StringUtils.isBlank(callerId)) {
       userMap.put(JsonKey.UPDATED_BY, actorMessage.getContext().get(JsonKey.REQUESTED_BY));
@@ -361,7 +361,7 @@ public class UserUpdateActor extends UserBaseActor {
   private void validateUserTypeAndSubType(
       Map<String, Object> userMap, RequestContext context, String stateCode) {
     String stateCodeConfig = userRequestValidator.validateUserType(userMap, stateCode, context);
-    userRequestValidator.validateUserSubType(userMap, stateCodeConfig);
+    userRequestValidator.validateUserSubType(userMap, stateCodeConfig, context);
     // after all validations set userType and userSubtype to profileUsertype
     populateProfileUserType(userMap, context);
   }
diff --git a/service/src/main/java/org/sunbird/actor/user/validator/UserRequestValidator.java b/service/src/main/java/org/sunbird/actor/user/validator/UserRequestValidator.java
index 5f0c4bdf7b3b0b7d5cd2553d3a43582b4c618feb..02c7f8de32175834cc38c9ab1b00f091697a7fe9 100644
--- a/service/src/main/java/org/sunbird/actor/user/validator/UserRequestValidator.java
+++ b/service/src/main/java/org/sunbird/actor/user/validator/UserRequestValidator.java
@@ -862,13 +862,14 @@ public class UserRequestValidator extends BaseRequestValidator {
     return stateCode;
   }
 
-  public void validateUserSubType(Map<String, Object> userRequestMap, String stateCode) {
+  public void validateUserSubType(
+      Map<String, Object> userRequestMap, String stateCode, RequestContext context) {
     String userType = (String) userRequestMap.get(JsonKey.USER_TYPE);
     String userSubType = (String) userRequestMap.get(JsonKey.USER_SUB_TYPE);
     Map<String, Map<String, List<String>>> userTypeConfigMap =
         DataCacheHandler.getUserTypesConfig();
     Map<String, List<String>> userTypeMap = userTypeConfigMap.get(stateCode);
-    logger.info("usertype map for state code" + stateCode + "config:" + userTypeMap);
+    logger.info(context, "usertype map for state code: " + stateCode + "config:" + userTypeMap);
     List<Map> profileUserTypes = (List<Map>) userRequestMap.get(JsonKey.PROFILE_USERTYPES);
     if (CollectionUtils.isNotEmpty(profileUserTypes)
         && MapUtils.isNotEmpty(profileUserTypes.get(0))) {