diff --git a/src/Services/EventActionService.cpp b/src/Services/EventActionService.cpp
index cfea0b044dfaba510fbf1a12d27cd288fe4b71f8..33198bfcf89d58d972294a76cd6ab7f0ae26318b 100644
--- a/src/Services/EventActionService.cpp
+++ b/src/Services/EventActionService.cpp
@@ -5,6 +5,7 @@
 void EventActionService::addEventActionDefinitions(Message &message) {
 	// TC[19,1]
 	message.assertTC(19, 1);
+	message.resetRead();
 	uint16_t applicationID = message.readEnum16();
 	uint16_t eventDefinitionID = message.readEnum16();
 	if (eventActionDefinitionMap.find(eventDefinitionID) == eventActionDefinitionMap.end()) {
@@ -38,6 +39,7 @@ void EventActionService::addEventActionDefinitions(Message &message) {
 
 void EventActionService::deleteEventActionDefinitions(Message &message) {
 	message.assertTC(19, 2);
+	message.resetRead();
 	uint16_t numberOfEventActionDefinitions = message.readUint16();
 	for (uint16_t i = 0; i < numberOfEventActionDefinitions; i++) {
 		uint16_t applicationID = message.readEnum16();
@@ -69,7 +71,7 @@ void EventActionService::deleteAllEventActionDefinitions(Message &message) {
 void EventActionService::enableEventActionDefinitions(Message &message) {
 	// TC[19,4]
 	message.assertTC(19, 4);
-
+	message.resetRead();
 	uint16_t numberOfEventActionDefinitions = message.readUint16();
 	if (numberOfEventActionDefinitions != 0) {
 		for (uint16_t i = 0; i < numberOfEventActionDefinitions; i++) {
@@ -96,6 +98,7 @@ void EventActionService::enableEventActionDefinitions(Message &message) {
 void EventActionService::disableEventActionDefinitions(Message &message) {
 	// TC[19,5]
 	message.assertTC(19, 5);
+	message.resetRead();
 
 	uint16_t numberOfEventActionDefinitions = message.readUint16();
 	if (numberOfEventActionDefinitions != 0) {