diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn
index 22c64e0366476d6ed1bc023b5853c90216dd5d68..634065e67989535f5168f6bcfb877dece9644c49 100644
--- a/LibOneM2M/OneM2M_Functions.ttcn
+++ b/LibOneM2M/OneM2M_Functions.ttcn
@@ -421,7 +421,8 @@ module OneM2M_Functions {
 					v_resourceIndex := f_setResource(v_resource.resource, v_resource.resourceType, v_resource.parentIndex, false);
 				}
 			}
-
+			p_component.done;
+			
 			f_disconnectInfoPort(p_component);
 			
 			return v_resourceIndex;
@@ -693,6 +694,7 @@ module OneM2M_Functions {
 						p_createRequestPrimitive.primitiveContent.subscription.notificationURI := {f_getResourceAddress(p_ae2Index)};
 					}
 					vc_ae2.start(f_cse_notifyProcedure_subscriptionVerificationHandler(p_responseStatusCode));
+					vc_ae2.done;
 				}
 			}
 		
@@ -3404,6 +3406,7 @@ module OneM2M_Functions {
 					tc_ac.stop;
 				}
 				[] tc_ac.timeout {
+					p_ae.stop;
 					setverdict(inconc, __SCOPE__ & "INFO: Component did not finish");
 				}
 			}