diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/CancelDmaapSubscription.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/CancelDmaapSubscription.java
new file mode 100644
index 0000000..92169b2
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/CancelDmaapSubscription.java
@@ -0,0 +1,42 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.bpmn.infrastructure.pnf.delegate;
+
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.camunda.bpm.engine.delegate.JavaDelegate;
+import org.openecomp.mso.bpmn.infrastructure.pnf.dmaap.DmaapClient;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class CancelDmaapSubscription implements JavaDelegate {
+
+    private DmaapClient dmaapClient;
+
+    @Override
+    public void execute(DelegateExecution execution) throws Exception {
+        String correlationId = (String) execution.getVariable(ExecutionVariableNames.CORRELATION_ID);
+        dmaapClient.unregister(correlationId);
+    }
+
+    @Autowired
+    public void setDmaapClient(DmaapClient dmaapClient) {
+        this.dmaapClient = dmaapClient;
+    }
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/ExecutionVariableNames.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/ExecutionVariableNames.java
index 0d64f2c..94d221a 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/ExecutionVariableNames.java
+++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/ExecutionVariableNames.java
@@ -23,8 +23,7 @@
 @SuppressWarnings("ALL")
 public class ExecutionVariableNames {
 
-    private ExecutionVariableNames() {
-    }
+    private ExecutionVariableNames() {}
 
     public final static String CORRELATION_ID = "correlationId";
     public final static String AAI_CONTAINS_INFO_ABOUT_PNF = "aaiContainsInfoAboutPnf";
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/pnf/dmaap/DmaapClient.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/pnf/dmaap/DmaapClient.java
index c6b6be6..12a6c7c 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/pnf/dmaap/DmaapClient.java
+++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/pnf/dmaap/DmaapClient.java
@@ -23,4 +23,6 @@
 public interface DmaapClient {
 
     void registerForUpdate(String correlationId, Runnable informConsumer);
+
+    Runnable unregister(String correlationId);
 }
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/pnf/dmaap/PnfEventReadyConsumer.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/pnf/dmaap/PnfEventReadyConsumer.java
index 8c9903e..1fd2de9 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/pnf/dmaap/PnfEventReadyConsumer.java
+++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/pnf/dmaap/PnfEventReadyConsumer.java
@@ -86,6 +86,15 @@
         }
     }
 
+    @Override
+    public synchronized Runnable unregister(String correlationId) {
+        Runnable runnable = pnfCorrelationIdToThreadMap.remove(correlationId);
+        if (pnfCorrelationIdToThreadMap.isEmpty()) {
+            stopDmaapThreadListener();
+        }
+        return runnable;
+    }
+
     private synchronized void startDmaapThreadListener() {
         if (!dmaapThreadListenerIsRunning) {
             executor = Executors.newScheduledThreadPool(1);
@@ -123,13 +132,9 @@
 
 
     private synchronized void informAboutPnfReadyIfCorrelationIdFound(String correlationId) {
-        Runnable runnable = pnfCorrelationIdToThreadMap.remove(correlationId);
+        Runnable runnable = unregister(correlationId);
         if (runnable != null) {
             runnable.run();
-
-            if (pnfCorrelationIdToThreadMap.isEmpty()) {
-                stopDmaapThreadListener();
-            }
         }
     }
 
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateAndActivatePnfResource.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateAndActivatePnfResource.bpmn
index 177bd98..c118105 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateAndActivatePnfResource.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateAndActivatePnfResource.bpmn
@@ -9,10 +9,10 @@
     <bpmn:messageFlow id="MessageFlow_0vjul4t" sourceRef="Participant_0atuyq0" targetRef="CheckAiiForCorrelationId" />
     <bpmn:messageFlow id="MessageFlow_1vrcp2d" sourceRef="Participant_19w87ws" targetRef="WaitForDmaapPnfReadyNotification" />
     <bpmn:messageFlow id="MessageFlow_0tg4hw9" sourceRef="InformDmaapClient" targetRef="Participant_19w87ws" />
-    <bpmn:messageFlow id="MessageFlow_1py54jr" sourceRef="Task_1rwv8g6" targetRef="Participant_19w87ws" />
+    <bpmn:messageFlow id="MessageFlow_1py54jr" sourceRef="CancelDmaapClientSubscription" targetRef="Participant_19w87ws" />
   </bpmn:collaboration>
   <bpmn:process id="CreateAndActivatePnfResource" name="CreateAndActivatePnfResource" isExecutable="true">
-    <bpmn:sequenceFlow id="SequenceFlow_1kc34bc" sourceRef="WaitForDmaapTimeout" targetRef="Task_1rwv8g6" />
+    <bpmn:sequenceFlow id="SequenceFlow_1kc34bc" sourceRef="WaitForDmaapTimeout" targetRef="CancelDmaapClientSubscription" />
     <bpmn:sequenceFlow id="SequenceFlow_1o8od8e" sourceRef="InformDmaapClient" targetRef="WaitForDmaapPnfReadyNotification" />
     <bpmn:sequenceFlow id="SequenceFlow_17s9025" sourceRef="AaiEntryExists" targetRef="InformDmaapClient" />
     <bpmn:sequenceFlow id="SequenceFlow_1ls8pua" name="No" sourceRef="DoesAaiContainInfoAboutIp" targetRef="AaiEntryExists">
@@ -31,24 +31,34 @@
     <bpmn:sequenceFlow id="SequenceFlow_1h6yz62" name="Yes" sourceRef="DoesAaiContainInfoAboutIp" targetRef="AaiEntryAlreadyUpToDate">
       <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">#{aaiContainsInfoAboutIp}</bpmn:conditionExpression>
     </bpmn:sequenceFlow>
-    <bpmn:startEvent id="CreateAndActivatePnf_StartEvent">
-      <bpmn:outgoing>SequenceFlow_0j5ksz1</bpmn:outgoing>
-    </bpmn:startEvent>
-    <bpmn:endEvent id="AaiEntryUpdated" name="AAI entry updated">
-      <bpmn:incoming>SequenceFlow_0p09qgm</bpmn:incoming>
-    </bpmn:endEvent>
     <bpmn:endEvent id="AaiEntryAlreadyUpToDate" name="AAI entry already up-to-date">
       <bpmn:incoming>SequenceFlow_1h6yz62</bpmn:incoming>
     </bpmn:endEvent>
-    <bpmn:sequenceFlow id="SequenceFlow_1miyzfe" sourceRef="Task_1rwv8g6" targetRef="ThrowTimeoutException" />
+    <bpmn:exclusiveGateway id="DoesAaiContainInfoAboutIp" name="Does AAI contain info about IPv4 or IPv6?">
+      <bpmn:incoming>SequenceFlow_1l1t6ak</bpmn:incoming>
+      <bpmn:outgoing>SequenceFlow_1h6yz62</bpmn:outgoing>
+      <bpmn:outgoing>SequenceFlow_1ls8pua</bpmn:outgoing>
+    </bpmn:exclusiveGateway>
     <bpmn:endEvent id="ThrowTimeoutException" name="Throw timeout exception">
       <bpmn:incoming>SequenceFlow_1miyzfe</bpmn:incoming>
       <bpmn:errorEventDefinition errorRef="Error_1" />
     </bpmn:endEvent>
+    <bpmn:sequenceFlow id="SequenceFlow_1miyzfe" sourceRef="CancelDmaapClientSubscription" targetRef="ThrowTimeoutException" />
     <bpmn:serviceTask id="CheckAiiForCorrelationId" name="Check AAI for correlation_id" camunda:delegateExpression="${checkAaiForCorrelationIdDelegate}">
       <bpmn:incoming>SequenceFlow_0j5ksz1</bpmn:incoming>
       <bpmn:outgoing>SequenceFlow_1j4r3zt</bpmn:outgoing>
     </bpmn:serviceTask>
+    <bpmn:startEvent id="CreateAndActivatePnf_StartEvent">
+      <bpmn:outgoing>SequenceFlow_0j5ksz1</bpmn:outgoing>
+    </bpmn:startEvent>
+    <bpmn:intermediateThrowEvent id="AaiEntryExists" name="AAI entry exists, lacking IP">
+      <bpmn:incoming>SequenceFlow_1qr6cmf</bpmn:incoming>
+      <bpmn:incoming>SequenceFlow_1ls8pua</bpmn:incoming>
+      <bpmn:outgoing>SequenceFlow_17s9025</bpmn:outgoing>
+    </bpmn:intermediateThrowEvent>
+    <bpmn:endEvent id="AaiEntryUpdated" name="AAI entry updated">
+      <bpmn:incoming>SequenceFlow_0p09qgm</bpmn:incoming>
+    </bpmn:endEvent>
     <bpmn:exclusiveGateway id="DoesAaiContainInfoAboutPnf" name="Does AAI contain info about pnf?">
       <bpmn:incoming>SequenceFlow_1j4r3zt</bpmn:incoming>
       <bpmn:outgoing>SequenceFlow_1l1t6ak</bpmn:outgoing>
@@ -58,16 +68,6 @@
       <bpmn:incoming>SequenceFlow_0v5ffpe</bpmn:incoming>
       <bpmn:outgoing>SequenceFlow_1qr6cmf</bpmn:outgoing>
     </bpmn:serviceTask>
-    <bpmn:exclusiveGateway id="DoesAaiContainInfoAboutIp" name="Does AAI contain info about IPv4 or IPv6?">
-      <bpmn:incoming>SequenceFlow_1l1t6ak</bpmn:incoming>
-      <bpmn:outgoing>SequenceFlow_1h6yz62</bpmn:outgoing>
-      <bpmn:outgoing>SequenceFlow_1ls8pua</bpmn:outgoing>
-    </bpmn:exclusiveGateway>
-    <bpmn:intermediateThrowEvent id="AaiEntryExists" name="AAI entry exists, lacking IP">
-      <bpmn:incoming>SequenceFlow_1qr6cmf</bpmn:incoming>
-      <bpmn:incoming>SequenceFlow_1ls8pua</bpmn:incoming>
-      <bpmn:outgoing>SequenceFlow_17s9025</bpmn:outgoing>
-    </bpmn:intermediateThrowEvent>
     <bpmn:serviceTask id="InformDmaapClient" name="Inform DmaapClient about business key and corresponding pnf-id" camunda:delegateExpression="${informDmaapClient}">
       <bpmn:incoming>SequenceFlow_17s9025</bpmn:incoming>
       <bpmn:outgoing>SequenceFlow_1o8od8e</bpmn:outgoing>
@@ -82,10 +82,10 @@
         <bpmn:timeDuration xsi:type="bpmn:tFormalExpression">#{timeoutForPnfEntryNotification}</bpmn:timeDuration>
       </bpmn:timerEventDefinition>
     </bpmn:boundaryEvent>
-    <bpmn:task id="Task_1rwv8g6" name="Cancel DmaapClient subscription">
+    <bpmn:serviceTask id="CancelDmaapClientSubscription" name="Cancel DmaapClient subscription" camunda:delegateExpression="${cancelDmaapSubscription}">
       <bpmn:incoming>SequenceFlow_1kc34bc</bpmn:incoming>
       <bpmn:outgoing>SequenceFlow_1miyzfe</bpmn:outgoing>
-    </bpmn:task>
+    </bpmn:serviceTask>
     <bpmn:association id="Association_0d7oxnz" sourceRef="CreateAndActivatePnf_StartEvent" targetRef="TextAnnotation_1eyzes8" />
     <bpmn:textAnnotation id="TextAnnotation_1eyzes8">
       <bpmn:text><![CDATA[Inputs:
@@ -99,12 +99,12 @@
   <bpmndi:BPMNDiagram id="BPMNDiagram_1">
     <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Collaboration_1d0w8lf">
       <bpmndi:BPMNShape id="Participant_1egg397_di" bpmnElement="Participant_1egg397">
-        <dc:Bounds x="0" y="0" width="1482" height="353" />
+        <dc:Bounds x="0" y="0" width="1488" height="437" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ExclusiveGateway_1cttgdo_di" bpmnElement="DoesAaiContainInfoAboutPnf" isMarkerVisible="true">
-        <dc:Bounds x="338" y="230" width="50" height="50" />
+        <dc:Bounds x="338" y="182" width="50" height="50" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="318" y="283" width="85" height="20" />
+          <dc:Bounds x="320" y="283" width="85" height="20" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ExclusiveGateway_0yamdfm_di" bpmnElement="DoesAaiContainInfoAboutIp" isMarkerVisible="true">
@@ -114,43 +114,43 @@
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="EndEvent_0k52gr7_di" bpmnElement="AaiEntryUpdated">
-        <dc:Bounds x="1312" y="237" width="36" height="36" />
+        <dc:Bounds x="1312" y="189" width="36" height="36" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1286" y="278" width="89" height="10" />
+          <dc:Bounds x="1286" y="230" width="89" height="10" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="StartEvent_0j5ok9h_di" bpmnElement="CreateAndActivatePnf_StartEvent">
-        <dc:Bounds x="49" y="237" width="36" height="36" />
+        <dc:Bounds x="49" y="189" width="36" height="36" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="23" y="276" width="90" height="20" />
+          <dc:Bounds x="23" y="228" width="90" height="20" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ServiceTask_0a5uk9o_di" bpmnElement="CheckAiiForCorrelationId">
-        <dc:Bounds x="159" y="215" width="100" height="80" />
+        <dc:Bounds x="159" y="167" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="ServiceTask_0iimk5v_di" bpmnElement="CreateAndActivatePnf_CreateAaiEntry">
-        <dc:Bounds x="467" y="215" width="100" height="80" />
+        <dc:Bounds x="467" y="167" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_1j4r3zt_di" bpmnElement="SequenceFlow_1j4r3zt">
-        <di:waypoint xsi:type="dc:Point" x="259" y="255" />
-        <di:waypoint xsi:type="dc:Point" x="338" y="255" />
+        <di:waypoint xsi:type="dc:Point" x="259" y="207" />
+        <di:waypoint xsi:type="dc:Point" x="338" y="207" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="253.5" y="235" width="90" height="10" />
+          <dc:Bounds x="253.5" y="187" width="90" height="10" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_1l1t6ak_di" bpmnElement="SequenceFlow_1l1t6ak">
-        <di:waypoint xsi:type="dc:Point" x="363" y="230" />
+        <di:waypoint xsi:type="dc:Point" x="363" y="182" />
         <di:waypoint xsi:type="dc:Point" x="363" y="66" />
         <di:waypoint xsi:type="dc:Point" x="646" y="66" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="368" y="206" width="19" height="10" />
+          <dc:Bounds x="378" y="159" width="19" height="10" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_0v5ffpe_di" bpmnElement="SequenceFlow_0v5ffpe">
-        <di:waypoint xsi:type="dc:Point" x="388" y="255" />
-        <di:waypoint xsi:type="dc:Point" x="467" y="255" />
+        <di:waypoint xsi:type="dc:Point" x="388" y="207" />
+        <di:waypoint xsi:type="dc:Point" x="467" y="207" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="395.48275862068965" y="237" width="15" height="10" />
+          <dc:Bounds x="396.3963414634147" y="210" width="15" height="10" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_1h6yz62_di" bpmnElement="SequenceFlow_1h6yz62">
@@ -164,56 +164,58 @@
         <di:waypoint xsi:type="dc:Point" x="671" y="91" />
         <di:waypoint xsi:type="dc:Point" x="671" y="164" />
         <di:waypoint xsi:type="dc:Point" x="671" y="164" />
-        <di:waypoint xsi:type="dc:Point" x="671" y="237" />
+        <di:waypoint xsi:type="dc:Point" x="671" y="189" />
         <bpmndi:BPMNLabel>
           <dc:Bounds x="681" y="105" width="15" height="10" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_1qr6cmf_di" bpmnElement="SequenceFlow_1qr6cmf">
-        <di:waypoint xsi:type="dc:Point" x="567" y="255" />
-        <di:waypoint xsi:type="dc:Point" x="653" y="255" />
+        <di:waypoint xsi:type="dc:Point" x="567" y="207" />
+        <di:waypoint xsi:type="dc:Point" x="653" y="207" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="565" y="235" width="90" height="10" />
+          <dc:Bounds x="565" y="187" width="90" height="10" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_0j5ksz1_di" bpmnElement="SequenceFlow_0j5ksz1">
-        <di:waypoint xsi:type="dc:Point" x="85" y="255" />
-        <di:waypoint xsi:type="dc:Point" x="159" y="255" />
+        <di:waypoint xsi:type="dc:Point" x="85" y="207" />
+        <di:waypoint xsi:type="dc:Point" x="122" y="207" />
+        <di:waypoint xsi:type="dc:Point" x="122" y="207" />
+        <di:waypoint xsi:type="dc:Point" x="159" y="207" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="77" y="235" width="90" height="10" />
+          <dc:Bounds x="92" y="202" width="90" height="10" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="Participant_0i9ban2_di" bpmnElement="Participant_0atuyq0">
-        <dc:Bounds x="123" y="415" width="502" height="60" />
+        <dc:Bounds x="123" y="523" width="502" height="60" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="MessageFlow_1h3xu88_di" bpmnElement="MessageFlow_1h3xu88">
-        <di:waypoint xsi:type="dc:Point" x="517" y="295" />
-        <di:waypoint xsi:type="dc:Point" x="517" y="415" />
+        <di:waypoint xsi:type="dc:Point" x="517" y="247" />
+        <di:waypoint xsi:type="dc:Point" x="517" y="523" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="487" y="350" width="90" height="10" />
+          <dc:Bounds x="487" y="380" width="90" height="10" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="MessageFlow_09ibv5a_di" bpmnElement="MessageFlow_09ibv5a">
-        <di:waypoint xsi:type="dc:Point" x="190" y="295" />
-        <di:waypoint xsi:type="dc:Point" x="190" y="415" />
+        <di:waypoint xsi:type="dc:Point" x="190" y="247" />
+        <di:waypoint xsi:type="dc:Point" x="190" y="523" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="160" y="350" width="90" height="10" />
+          <dc:Bounds x="160" y="404" width="90" height="10" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="MessageFlow_0vjul4t_di" bpmnElement="MessageFlow_0vjul4t">
-        <di:waypoint xsi:type="dc:Point" x="229" y="415" />
-        <di:waypoint xsi:type="dc:Point" x="229" y="295" />
+        <di:waypoint xsi:type="dc:Point" x="229" y="523" />
+        <di:waypoint xsi:type="dc:Point" x="229" y="247" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="199" y="350" width="90" height="10" />
+          <dc:Bounds x="199" y="404" width="90" height="10" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="Participant_0vmrrhf_di" bpmnElement="Participant_19w87ws">
-        <dc:Bounds x="804" y="415" width="463" height="60" />
+        <dc:Bounds x="804" y="523" width="463" height="60" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="EndEvent_0wbx6tt_di" bpmnElement="ThrowTimeoutException">
-        <dc:Bounds x="1312" y="135" width="36" height="36" />
+        <dc:Bounds x="1312" y="345" width="36" height="36" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1305" y="172" width="70" height="20" />
+          <dc:Bounds x="1305" y="382" width="70" height="20" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="EndEvent_00cy7r0_di" bpmnElement="AaiEntryAlreadyUpToDate">
@@ -223,90 +225,90 @@
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="IntermediateThrowEvent_0fjcdy4_di" bpmnElement="AaiEntryExists">
-        <dc:Bounds x="653" y="237" width="36" height="36" />
+        <dc:Bounds x="653" y="189" width="36" height="36" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="631" y="283" width="80" height="20" />
+          <dc:Bounds x="634" y="235" width="80" height="20" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="TextAnnotation_1eyzes8_di" bpmnElement="TextAnnotation_1eyzes8">
         <dc:Bounds x="66" y="70" width="243" height="54" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="Association_0d7oxnz_di" bpmnElement="Association_0d7oxnz">
-        <di:waypoint xsi:type="dc:Point" x="67" y="237" />
+        <di:waypoint xsi:type="dc:Point" x="67" y="189" />
         <di:waypoint xsi:type="dc:Point" x="67" y="124" />
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="MessageFlow_1vrcp2d_di" bpmnElement="MessageFlow_1vrcp2d">
-        <di:waypoint xsi:type="dc:Point" x="1006" y="415" />
-        <di:waypoint xsi:type="dc:Point" x="1006" y="295" />
+        <di:waypoint xsi:type="dc:Point" x="1006" y="523" />
+        <di:waypoint xsi:type="dc:Point" x="1006" y="247" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="976" y="350" width="90" height="10" />
+          <dc:Bounds x="976" y="380" width="90" height="10" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_17s9025_di" bpmnElement="SequenceFlow_17s9025">
-        <di:waypoint xsi:type="dc:Point" x="689" y="255" />
-        <di:waypoint xsi:type="dc:Point" x="775" y="255" />
+        <di:waypoint xsi:type="dc:Point" x="689" y="207" />
+        <di:waypoint xsi:type="dc:Point" x="775" y="207" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="687" y="235" width="90" height="10" />
+          <dc:Bounds x="687" y="187" width="90" height="10" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="BoundaryEvent_15eo1k9_di" bpmnElement="WaitForDmaapTimeout">
-        <dc:Bounds x="1008" y="197" width="36" height="36" />
+        <dc:Bounds x="1020" y="229" width="36" height="36" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1039" y="192" width="40" height="10" />
+          <dc:Bounds x="1051" y="260" width="40" height="10" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_1kc34bc_di" bpmnElement="SequenceFlow_1kc34bc">
-        <di:waypoint xsi:type="dc:Point" x="1026" y="197" />
-        <di:waypoint xsi:type="dc:Point" x="1026" y="153" />
-        <di:waypoint xsi:type="dc:Point" x="1133" y="153" />
+        <di:waypoint xsi:type="dc:Point" x="1038" y="265" />
+        <di:waypoint xsi:type="dc:Point" x="1038" y="363" />
+        <di:waypoint xsi:type="dc:Point" x="1133" y="363" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="996" y="170" width="90" height="10" />
+          <dc:Bounds x="1008" y="309" width="90" height="10" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="ReceiveTask_1sfysua_di" bpmnElement="WaitForDmaapPnfReadyNotification">
-        <dc:Bounds x="954" y="215" width="100" height="80" />
+        <dc:Bounds x="954" y="167" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_0p09qgm_di" bpmnElement="SequenceFlow_0p09qgm">
-        <di:waypoint xsi:type="dc:Point" x="1054" y="255" />
-        <di:waypoint xsi:type="dc:Point" x="1312" y="255" />
+        <di:waypoint xsi:type="dc:Point" x="1054" y="207" />
+        <di:waypoint xsi:type="dc:Point" x="1312" y="207" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1138" y="235" width="90" height="10" />
+          <dc:Bounds x="1138" y="187" width="90" height="10" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_1o8od8e_di" bpmnElement="SequenceFlow_1o8od8e">
-        <di:waypoint xsi:type="dc:Point" x="875" y="255" />
-        <di:waypoint xsi:type="dc:Point" x="954" y="255" />
+        <di:waypoint xsi:type="dc:Point" x="875" y="207" />
+        <di:waypoint xsi:type="dc:Point" x="954" y="207" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="869.5" y="235" width="90" height="10" />
+          <dc:Bounds x="869.5" y="187" width="90" height="10" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="MessageFlow_0tg4hw9_di" bpmnElement="MessageFlow_0tg4hw9">
-        <di:waypoint xsi:type="dc:Point" x="825" y="295" />
-        <di:waypoint xsi:type="dc:Point" x="825" y="415" />
+        <di:waypoint xsi:type="dc:Point" x="825" y="247" />
+        <di:waypoint xsi:type="dc:Point" x="825" y="523" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="795" y="350" width="90" height="10" />
+          <dc:Bounds x="795" y="380" width="90" height="10" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="ServiceTask_1iax11n_di" bpmnElement="InformDmaapClient">
-        <dc:Bounds x="775" y="215" width="100" height="80" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="Task_1rwv8g6_di" bpmnElement="Task_1rwv8g6">
-        <dc:Bounds x="1133" y="113" width="100" height="80" />
+        <dc:Bounds x="775" y="167" width="100" height="80" />
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_1miyzfe_di" bpmnElement="SequenceFlow_1miyzfe">
-        <di:waypoint xsi:type="dc:Point" x="1233" y="153" />
-        <di:waypoint xsi:type="dc:Point" x="1312" y="153" />
+        <di:waypoint xsi:type="dc:Point" x="1233" y="363" />
+        <di:waypoint xsi:type="dc:Point" x="1312" y="363" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1272.5" y="133" width="0" height="10" />
+          <dc:Bounds x="1227.5" y="343" width="90" height="10" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="MessageFlow_1py54jr_di" bpmnElement="MessageFlow_1py54jr">
-        <di:waypoint xsi:type="dc:Point" x="1183" y="193" />
-        <di:waypoint xsi:type="dc:Point" x="1183" y="415" />
+        <di:waypoint xsi:type="dc:Point" x="1183" y="403" />
+        <di:waypoint xsi:type="dc:Point" x="1183" y="523" />
         <bpmndi:BPMNLabel>
-          <dc:Bounds x="1198" y="299" width="0" height="10" />
+          <dc:Bounds x="1153" y="458" width="90" height="10" />
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="ServiceTask_12j7hox_di" bpmnElement="CancelDmaapClientSubscription">
+        <dc:Bounds x="1133" y="323" width="100" height="80" />
+      </bpmndi:BPMNShape>
     </bpmndi:BPMNPlane>
   </bpmndi:BPMNDiagram>
 </bpmn:definitions>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/webapp/WEB-INF/applicationContext.xml b/bpmn/MSOInfrastructureBPMN/src/main/webapp/WEB-INF/applicationContext.xml
index 03fff4f..4ddeba1 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/webapp/WEB-INF/applicationContext.xml
+++ b/bpmn/MSOInfrastructureBPMN/src/main/webapp/WEB-INF/applicationContext.xml
@@ -18,6 +18,10 @@
     <property name="dmaapClient" ref="pnfEventReadyConsumer"/>
   </bean>
 
+  <bean id="cancelDmaapSubscription" class="org.openecomp.mso.bpmn.infrastructure.pnf.delegate.CancelDmaapSubscription">
+    <property name="dmaapClient" ref="pnfEventReadyConsumer"/>
+  </bean>
+
   <bean id="pnfEventReadyConsumer" class="org.openecomp.mso.bpmn.infrastructure.pnf.dmaap.PnfEventReadyConsumer"
     init-method="init">
     <property name="dmaapHost" value="${host}"/>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/webapp/WEB-INF/web.xml b/bpmn/MSOInfrastructureBPMN/src/main/webapp/WEB-INF/web.xml
index e262495..fb5fc66 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/webapp/WEB-INF/web.xml
+++ b/bpmn/MSOInfrastructureBPMN/src/main/webapp/WEB-INF/web.xml
@@ -50,6 +50,8 @@
   </context-param>
   <listener>
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
+  </listener>
+  <listener>
     <listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
   </listener>
 
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/CancelDmaapSubscriptionTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/CancelDmaapSubscriptionTest.java
new file mode 100644
index 0000000..d27cf44
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/CancelDmaapSubscriptionTest.java
@@ -0,0 +1,57 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.bpmn.infrastructure.pnf.delegate;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = {CancelDmaapSubscription.class, DmaapClientTestImpl.class})
+public class CancelDmaapSubscriptionTest {
+
+    @Autowired
+    public CancelDmaapSubscription delegate;
+
+    @Autowired
+    private DmaapClientTestImpl dmaapClientTest;
+
+    @Test
+    public void shouldCancelSubscription() throws Exception {
+        // given
+        DelegateExecution delegateExecution = mock(DelegateExecution.class);
+        when(delegateExecution.getVariable(eq(ExecutionVariableNames.CORRELATION_ID))).thenReturn("testCorrelationId");
+        when(delegateExecution.getProcessBusinessKey()).thenReturn("testBusinessKey");
+        dmaapClientTest.registerForUpdate("testCorrelationId", () -> {});
+        // when
+        delegate.execute(delegateExecution);
+        // then
+        assertThat(dmaapClientTest.haveRegisteredConsumer()).isFalse();
+    }
+}
\ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/DmaapClientTestImpl.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/DmaapClientTestImpl.java
index 55dd3a9..8d35f9f 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/DmaapClientTestImpl.java
+++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/DmaapClientTestImpl.java
@@ -21,8 +21,10 @@
 package org.openecomp.mso.bpmn.infrastructure.pnf.delegate;
 
 import org.openecomp.mso.bpmn.infrastructure.pnf.dmaap.DmaapClient;
+import java.util.Objects;
 
 public class DmaapClientTestImpl implements DmaapClient {
+
     private String correlationId;
     private Runnable informConsumer;
 
@@ -32,6 +34,17 @@
         this.informConsumer = informConsumer;
     }
 
+    @Override
+    public Runnable unregister(String correlationId) {
+        if (Objects.equals(this.correlationId, correlationId)) {
+            this.correlationId = null;
+            Runnable informConsumer = this.informConsumer;
+            this.informConsumer = null;
+            return informConsumer;
+        }
+        return null;
+    }
+
     public String getCorrelationId() {
         return correlationId;
     }
@@ -39,4 +52,8 @@
     public Runnable getInformConsumer() {
         return informConsumer;
     }
+
+    public boolean haveRegisteredConsumer() {
+        return correlationId != null;
+    }
 }
