diff --git a/inc/Services/EventActionService.hpp b/inc/Services/EventActionService.hpp
index c551afedc61d227d661732b99d422422560c5061..9a542fa7a9aec8717af0192e57426f080c278e0e 100644
--- a/inc/Services/EventActionService.hpp
+++ b/inc/Services/EventActionService.hpp
@@ -17,6 +17,8 @@
  *
 
  * @todo: check if executeAction should accept applicationID too
+ * @todo: Since there are multiple actions per event and in delete/enable/disable functions are
+ * multiple instances are accessed, should I find a more efficient way to access them?
  * @todo: check if eventActionFunctionStatus should be private or not
  * @todo: check if eventAction array of definitions should be private or not
  * @todo: check size of eventActionDefinitionArray
diff --git a/src/Services/EventActionService.cpp b/src/Services/EventActionService.cpp
index c29401784fbb8ada3a5719788c98c634b2e247e0..6985bb25cdc01cc1c13eb86dc14813a6c06e7cd2 100644
--- a/src/Services/EventActionService.cpp
+++ b/src/Services/EventActionService.cpp
@@ -44,20 +44,16 @@ void EventActionService::deleteEventActionDefinitions(Message message) {
 		for (uint16_t i = 0; i < N; i++) {
 			uint16_t applicationID = message.readEnum16();
 			uint16_t eventDefinitionID = message.readEnum16();
-			while (eventActionDefinitionArray[index].applicationId != applicationID ||
-			       eventActionDefinitionArray[index].eventDefinitionID != eventDefinitionID) {
-				if (index == 255) { // 255 should be changed depending on size of the array
-					flag = 1;
-					break;
+			while (index<256){
+				if (eventActionDefinitionArray[index].applicationId == applicationID &&
+			       eventActionDefinitionArray[index].eventDefinitionID== eventDefinitionID) {
+					eventActionDefinitionArray[index].empty = 1;
+					eventActionDefinitionArray[index].eventDefinitionID = 65535;
+					eventActionDefinitionArray[index].request = "";
+					eventActionDefinitionArray[index].applicationId = 0;
 				}
 				index++;
 			}
-			if (flag == 0) { // Found
-				eventActionDefinitionArray[index].empty = 1;
-				eventActionDefinitionArray[index].eventDefinitionID = 65535;
-				eventActionDefinitionArray[index].request = "";
-				eventActionDefinitionArray[index].applicationId = 0;
-			}
 			index = 0;
 		}
 
@@ -89,20 +85,15 @@ void EventActionService::enableEventActionDefinitions(Message message) {
 		for (uint16_t i = 0; i < N; i++) {
 			uint16_t applicationID = message.readEnum16();
 			uint16_t eventDefinitionID = message.readEnum16();
-			while (eventActionDefinitionArray[index].applicationId != applicationID ||
-			       eventActionDefinitionArray[index].eventDefinitionID != eventDefinitionID) {
-				if (index == 255) { // 255 should be changed depending on size of the array
-					flag = 1;
-					break;
+			while (index<256){
+				if (eventActionDefinitionArray[index].applicationId == applicationID &&
+				    eventActionDefinitionArray[index].eventDefinitionID== eventDefinitionID) {
+					stateOfEventAction[index] = 1;
 				}
 				index++;
 			}
-			if (flag == 0) { // Found
-				stateOfEventAction[index] = 1;
-			}
 			index = 0;
 		}
-
 	}
 }
 
@@ -116,17 +107,13 @@ void EventActionService::disableEventActionDefinitions(Message message) {
 		for (uint16_t i = 0; i < N; i++) {
 			uint16_t applicationID = message.readEnum16();
 			uint16_t eventDefinitionID = message.readEnum16();
-			while (eventActionDefinitionArray[index].applicationId != applicationID ||
-			       eventActionDefinitionArray[index].eventDefinitionID != eventDefinitionID) {
-				if (index == 255) { // 255 should be changed depending on size of the array
-					flag = 1;
-					break;
+			while (index<256){
+				if (eventActionDefinitionArray[index].applicationId == applicationID &&
+				    eventActionDefinitionArray[index].eventDefinitionID== eventDefinitionID) {
+					stateOfEventAction[index] = 0;
 				}
 				index++;
 			}
-			if (flag == 0) { // Found
-				stateOfEventAction[index] = 0;
-			}
 			index = 0;
 		}
 	}
diff --git a/test/Services/EventActionService.cpp b/test/Services/EventActionService.cpp
index 1fac8d654db51b4ae6f55f5b24d5abc8c0a9d8c4..ab10c0aae56db38c8c56d18a46d9e0b4a76106fc 100644
--- a/test/Services/EventActionService.cpp
+++ b/test/Services/EventActionService.cpp
@@ -104,7 +104,6 @@ TEST_CASE("Delete event-action definitions TC[19,2]", "[service][st09]") {
 
 TEST_CASE("Delete all event-action definitions TC[19,3]", "[service][st09]") {
 	EventActionService eventActionService;
-	char checkString[256];
 	Message message0(19, 1, Message::TC, 0);
 	message0.appendEnum16(1);
 	message0.appendEnum16(0);
@@ -148,6 +147,13 @@ TEST_CASE("Delete all event-action definitions TC[19,3]", "[service][st09]") {
 }
 
 TEST_CASE("Enable event-action definitions TC[19,4]", "[service][st09]") {
+	EventActionService eventActionService;
+	Message message0(19, 1, Message::TC, 0);
+	message0.appendEnum16(1);
+	message0.appendEnum16(0);
+	String<64> data = "0";
+	message0.appendString(data);
+	eventActionService.addEventActionDefinitions(message0);
 
 }
 
@@ -185,4 +191,4 @@ TEST_CASE("Disable event-action function TC[19,1]", "[service][st09]") {
 
 TEST_CASE("Execute a TC request", "[service][st09]"){
 
-}
\ No newline at end of file
+}