diff --git a/src/main/java/org/etsi/osl/osom/management/CROrchestrationCheckDeploymentService.java b/src/main/java/org/etsi/osl/osom/management/CROrchestrationCheckDeploymentService.java
index 8d036fe08f7360d1b018579af19d5c4de45e803a..b69a38910d5bb83ccd5e2242916faab9f6a98c43 100644
--- a/src/main/java/org/etsi/osl/osom/management/CROrchestrationCheckDeploymentService.java
+++ b/src/main/java/org/etsi/osl/osom/management/CROrchestrationCheckDeploymentService.java
@@ -91,13 +91,14 @@ public class CROrchestrationCheckDeploymentService implements JavaDelegate {
             Service serviceResult = serviceOrderManager.updateService( aService.getId(), supd, propagateToSO );
             return;
           }
+         
           rlist.add(res);
           
         }
         @Valid
         ServiceStateType currentState = aService.getState();        
         
-	    ServiceStateType nextState = aService.findNextStateBasedOnSupportingResources(rlist);
+	    ServiceStateType nextState =  aService.findNextStateBasedOnResourceList(rlist);
 	    
 	    if (!currentState.equals(nextState)) {
 	        supd.setState( nextState );     
diff --git a/src/main/java/org/etsi/osl/osom/management/GCOrchestrationCheckDeploymentService.java b/src/main/java/org/etsi/osl/osom/management/GCOrchestrationCheckDeploymentService.java
index 7f8d9a47a14e2b0332761264cc404940a7152e46..8f1e4d0c724a72045491d9d141d35bf8723c5156 100644
--- a/src/main/java/org/etsi/osl/osom/management/GCOrchestrationCheckDeploymentService.java
+++ b/src/main/java/org/etsi/osl/osom/management/GCOrchestrationCheckDeploymentService.java
@@ -96,7 +96,7 @@ public class GCOrchestrationCheckDeploymentService implements JavaDelegate {
         @Valid
         ServiceStateType currentState = aService.getState();        
         
-	    ServiceStateType nextState = aService.findNextStateBasedOnSupportingResources(rlist);
+	    ServiceStateType nextState = aService.findNextStateBasedOnResourceList(rlist);
 	    
 	    if (!currentState.equals(nextState)) {
 	        supd.setState( nextState );     
diff --git a/src/main/java/org/etsi/osl/osom/management/ProcessCreateServiceRules.java b/src/main/java/org/etsi/osl/osom/management/ProcessCreateServiceRules.java
index 8aa8166bf849b3dfeea36ce6db582bbb4aad9f81..6ca1a256c557b4bc19637f9722944796432b1749 100644
--- a/src/main/java/org/etsi/osl/osom/management/ProcessCreateServiceRules.java
+++ b/src/main/java/org/etsi/osl/osom/management/ProcessCreateServiceRules.java
@@ -67,6 +67,11 @@ public class ProcessCreateServiceRules implements JavaDelegate {
 			return;
 		}
 		
+		if ( spec == null) {
+          logger.debug("\tCannot retrieve ServiceSpec:" + contextServiceSpecId);
+		  return;
+		}
+		
 
 		/*
 		 * first find all referenced ServiceSpecs of a ServiceSpec to be created
diff --git a/src/main/java/org/etsi/osl/osom/management/ProcessOrderItemActionCheck.java b/src/main/java/org/etsi/osl/osom/management/ProcessOrderItemActionCheck.java
index 0b49e90173acc5353e5921f14aa6755a6472dc65..1addb48ebd457d2491c14dd30be0ed6e487497d9 100644
--- a/src/main/java/org/etsi/osl/osom/management/ProcessOrderItemActionCheck.java
+++ b/src/main/java/org/etsi/osl/osom/management/ProcessOrderItemActionCheck.java
@@ -34,6 +34,7 @@ public class ProcessOrderItemActionCheck implements JavaDelegate {
 		ServiceOrder sor = serviceOrderManager.retrieveServiceOrder((String) execution.getVariable("orderid"));
 		String orderItemIdToProcess = (String) execution.getVariable("orderItemId");
 		ServiceOrderItem soi = null;
+        execution.setVariable("saction", "NONE");            
 		
 		for (ServiceOrderItem i : sor.getOrderItem()) {
 			if (i.getUuid().equals( orderItemIdToProcess )){
@@ -46,7 +47,6 @@ public class ProcessOrderItemActionCheck implements JavaDelegate {
             logger.error("In ProcessOrderItemActionCheck cannot find ServiceOrderItem orderItemIdToProcess=:" + orderItemIdToProcess);
             logger.error("In ProcessOrderItemActionCheck cannot find ServiceOrderItem sor.getUuid()=:" + sor.getUuid() );
             logger.error("In ProcessOrderItemActionCheck cannot find ServiceOrderItem sor()=:" + sor.toString() );
-            execution.setVariable("saction", "NONE");            
 			return;
 		}
 		
diff --git a/src/main/resources/processes/ProcessOrderItemProcess.bpmn b/src/main/resources/processes/ProcessOrderItemProcess.bpmn
index 4f386ce6a8bc381dd822dce0f16c5f7092f9d025..a6b64894f9cb0d6ea343ef4c579a1dadf472424e 100644
--- a/src/main/resources/processes/ProcessOrderItemProcess.bpmn
+++ b/src/main/resources/processes/ProcessOrderItemProcess.bpmn
@@ -26,6 +26,9 @@
     <sequenceFlow id="flow30" sourceRef="stActionDELETE" targetRef="stProcesOrderItemComplete"></sequenceFlow>
     <sequenceFlow id="flow31" sourceRef="stProcesOrderItemComplete" targetRef="endevent2"></sequenceFlow>
     <sequenceFlow id="flow32" sourceRef="stActionADD" targetRef="CreateServiceProcess"></sequenceFlow>
+    <sequenceFlow id="flow33" name="saction=='NONE'" sourceRef="exclusivegateway1" targetRef="endevent2">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${saction=='NONE'}]]></conditionExpression>
+    </sequenceFlow>
   </process>
   <bpmndi:BPMNDiagram id="BPMNDiagram_ProcessOrderItem">
     <bpmndi:BPMNPlane bpmnElement="ProcessOrderItem" id="BPMNPlane_ProcessOrderItem">
@@ -85,7 +88,7 @@
         <omgdi:waypoint x="320.0" y="367.0"></omgdi:waypoint>
         <omgdi:waypoint x="464.0" y="367.0"></omgdi:waypoint>
         <bpmndi:BPMNLabel>
-          <omgdc:Bounds height="14.0" width="88.0" x="340.0" y="339.0"></omgdc:Bounds>
+          <omgdc:Bounds height="14.0" width="100.0" x="340.0" y="339.0"></omgdc:Bounds>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge bpmnElement="flow28" id="BPMNEdge_flow28">
@@ -111,6 +114,15 @@
         <omgdi:waypoint x="515.0" y="87.0"></omgdi:waypoint>
         <omgdi:waypoint x="560.0" y="87.0"></omgdi:waypoint>
       </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="flow33" id="BPMNEdge_flow33">
+        <omgdi:waypoint x="320.0" y="197.0"></omgdi:waypoint>
+        <omgdi:waypoint x="319.0" y="467.0"></omgdi:waypoint>
+        <omgdi:waypoint x="867.0" y="467.0"></omgdi:waypoint>
+        <omgdi:waypoint x="867.0" y="191.0"></omgdi:waypoint>
+        <bpmndi:BPMNLabel>
+          <omgdc:Bounds height="14.0" width="100.0" x="335.0" y="449.0"></omgdc:Bounds>
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
     </bpmndi:BPMNPlane>
   </bpmndi:BPMNDiagram>
 </definitions>
\ No newline at end of file