diff --git a/src/service/programService.js b/src/service/programService.js
index 0d1a6cab3ddc6b93be05c26e737ad391c192a159..3e9cf486e792a6890d7b4e43c1fd068e7bfda699 100644
--- a/src/service/programService.js
+++ b/src/service/programService.js
@@ -20,7 +20,7 @@ const {
   forkJoin
 } = require('rxjs');
 const { catchError , map } = require('rxjs/operators');
-const axios = require('axios');
+const axios = require("axios");
 const envVariables = require('../envVariables');
 const RegistryService = require('./registryService')
 const ProgramServiceHelper = require('../helpers/programHelper');
@@ -211,7 +211,7 @@ function publishProgram(req, response) {
     req.rspObj.errCode = programMessages.PUBLISH.MISSING_CODE
     req.rspObj.errMsg = programMessages.PUBLISH.MISSING_MESSAGE
     req.rspObj.responseCode = responseCode.CLIENT_ERROR
-    loggerError('',req.rspObj,errCode+errorCodes.CODE1);
+    loggerError('',req.rspObj,req.rspObj.errCode+errorCodes.CODE1);
     loggerService.exitLog({responseCode: req.rspObj.responseCode, errCode: req.rspObj.errCode+errorCodes.CODE1}, logObject);
     return response.status(400).send(errorResponse(req.rspObj,req.rspObj.errCode+errorCodes.CODE1))
   }
@@ -419,7 +419,7 @@ function onAfterPublishProgram(programDetails, reqHeaders, afterPublishCallback)
   onPublishResult['nomination']= {};
   onPublishResult['userMapping']= {};
   getUserRegistryDetails(programDetails.createdby).then((userRegData) => {
-    getOsOrgForRootOrgId(programDetails.rootorg_id, userRegData, reqHeaders).then((osOrgforRootOrgRes) => {
+    getOsOrgForRootOrgId(programDetails.rootorg_id, userRegData, reqHeaders).then(async (osOrgforRootOrgRes) => {
       const iforgFoundInRegData = osOrgforRootOrgRes.orgFoundInRegData;
       const osOrgforRootOrg = osOrgforRootOrgRes.osOrgforRootOrg;
       const userOsid = _.get(userRegData, 'User.osid');
@@ -545,11 +545,11 @@ function onAfterPublishProgram(programDetails, reqHeaders, afterPublishCallback)
             afterPublishCallback(onPublishResult);
           }
         }
+        const dikshaUserProfilesApiResp = await userService.getDikshaUserProfiles({'headers': reqHeaders}, programDetails.createdby);
+        let orgUsersDetails = _.get(dikshaUserProfilesApiResp.data, 'result.response.content');
         // create a registry for the user adn then an org and create mapping for the org as a admin
-        programServiceHelper.getUserDetails(programDetails.createdby, reqHeaders)
-        .subscribe((res)=> {
-          if (res.data.responseCode == "OK" && !_.isEmpty(_.get(res.data, 'result.response.content'))) {
-            const userDetails = _.first(_.get(res.data, 'result.response.content'));
+          if (orgUsersDetails) {
+            const userDetails = _.first(orgUsersDetails);
             if (!userOsid && !_.isEmpty(osOrgforRootOrg)) {
               // if user for created by is not present but org for rootOrg id exists
               createUserMappingInRegistry(userDetails, osOrgforRootOrg, regMethodCallback);
@@ -564,10 +564,6 @@ function onAfterPublishProgram(programDetails, reqHeaders, afterPublishCallback)
             onPublishResult['error'] = {msg: "error while getting users details from Diksha"};
             afterPublishCallback(onPublishResult);
           }
-        },(error)=> {
-          onPublishResult['error'] = {msg: "error while getting users details from Diksha " + error.message};
-          afterPublishCallback(onPublishResult);
-        });
       }
     })
     .catch((error) => {
@@ -2672,7 +2668,7 @@ function addorUpdateUserOrgMapping(userProfile, filterRootOrg, orgOsid, userOsid
         sourcingOrgs.push(mappingObj.orgId);
       }
 
-      if (mappingObj.orgId == orgOsid) {
+      if (mappingObj.orgId === orgOsid) {
         updateOsid = mappingObj.osid;
         if (userOrgRoles.includes('ORG_ADMIN')) {
           uRoles.push('admin');