Merge branch 'airavata-3508'
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
index 34a5f35..e93d97e 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
@@ -2224,7 +2224,8 @@
         existingExperiment.unsetProcesses();
         existingExperiment.unsetExperimentStatus();
         if(existingExperiment.getUserConfigurationData() != null && existingExperiment.getUserConfigurationData()
-                .getComputationalResourceScheduling() != null){
+                .getComputationalResourceScheduling() != null 
+                && existingExperiment.getUserConfigurationData().getComputationalResourceScheduling().getResourceHostId() != null){
             String compResourceId = existingExperiment.getUserConfigurationData()
                     .getComputationalResourceScheduling().getResourceHostId();
 
diff --git a/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/handler/RegistryServerHandler.java b/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/handler/RegistryServerHandler.java
index 5bdf10d..779b5ed 100644
--- a/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/handler/RegistryServerHandler.java
+++ b/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/handler/RegistryServerHandler.java
@@ -3648,7 +3648,8 @@
                 switch (experimentState){
                     case CREATED: case VALIDATED:
                         if(experiment.getUserConfigurationData() != null && experiment.getUserConfigurationData()
-                                .getComputationalResourceScheduling() != null){
+                                .getComputationalResourceScheduling() != null 
+                                && experiment.getUserConfigurationData().getComputationalResourceScheduling().getResourceHostId() != null){
                             String compResourceId = experiment.getUserConfigurationData()
                                     .getComputationalResourceScheduling().getResourceHostId();
                             ComputeResourceDescription computeResourceDescription = new ComputeResourceRepository()
@@ -3750,7 +3751,8 @@
             }
 
             if(experiment.getUserConfigurationData() != null && experiment.getUserConfigurationData()
-                    .getComputationalResourceScheduling() != null){
+                    .getComputationalResourceScheduling() != null 
+                    && experiment.getUserConfigurationData().getComputationalResourceScheduling().getResourceHostId() != null){
 
                 String compResourceId = experiment.getUserConfigurationData()
                         .getComputationalResourceScheduling().getResourceHostId();