diff --git a/inc/Services/EventReportService.hpp b/inc/Services/EventReportService.hpp
index 160123a2522f7900a044886309b448304888e167..454bd24b828d7dd30cfce1d8f83ca435facf8f3b 100644
--- a/inc/Services/EventReportService.hpp
+++ b/inc/Services/EventReportService.hpp
@@ -17,7 +17,7 @@
 
 class EventReportService : public Service {
 private:
-	static const uint8_t numberOfEvents = 7; // Might need to change the uint8_t
+	static const uint16_t numberOfEvents = 7;
 	std::bitset<numberOfEvents> stateOfEvents;
 public:
 	EventReportService() {
@@ -118,13 +118,13 @@ public:
 	 * TC[5,5] request to enable report generation
 	 * Telecommand to enable the report generation of event definitions
 	 */
-	void enableReportGeneration(uint8_t length, Event *eventID);
+	void enableReportGeneration(uint16_t length, Event *eventID);
 
 	/**
 	 * TC[5,6] request to disable report generation
 	 * Telecommand to disable the report generation of event definitions
 	 */
-	void disableReportGeneration(uint8_t length, Event *eventID);
+	void disableReportGeneration(uint16_t length, Event *eventID);
 
 	/**
 	 * TC[5,7] request to report the disabled event definitions
diff --git a/src/Services/EventReportService.cpp b/src/Services/EventReportService.cpp
index 3e3c7af40a11f9468529ca0e91c719e7982f7839..4d16901438d1c3147122be910c0aee708462e62c 100644
--- a/src/Services/EventReportService.cpp
+++ b/src/Services/EventReportService.cpp
@@ -48,27 +48,27 @@ EventReportService::highSeverityAnomalyReport(Event eventID, const uint8_t *data
 	storeMessage(report);
 }
 
-void EventReportService::enableReportGeneration(uint8_t length, Event *eventID) {
+void EventReportService::enableReportGeneration(uint16_t length, Event *eventID) {
 	// TC[5,5]
 	/**
 	 * @todo: Report an error if length>numberOfEvents
 	 */
 	if (length <= numberOfEvents) {
-		for (uint8_t i = 0; i < length; i++) {
-			stateOfEvents[static_cast<uint8_t> (eventID[i])] = 1;
+		for (uint16_t i = 0; i < length; i++) {
+			stateOfEvents[static_cast<uint16_t> (eventID[i])] = 1;
 		}
 	}
-
 }
 
-void EventReportService::disableReportGeneration(uint8_t length, Event *eventID) {
+void EventReportService::disableReportGeneration(uint16_t length, Event *eventID) {
 	// TC[5,6]
 	/**
-	 * @todo: Add informationEventReport with notification if failed start of execution
-	 * according to standard 6.5.5.2.e
+	 * @todo: Report an error if length>numberOfEvents
 	 */
-	for (uint8_t i = 0; i < length; i++) {
-		stateOfEvents[static_cast<uint8_t> (eventID[i])] = 0;
+	if (length <= numberOfEvents) {
+		for (uint16_t i = 0; i < length; i++) {
+			stateOfEvents[static_cast<uint16_t> (eventID[i])] = 0;
+		}
 	}
 }
 
@@ -83,11 +83,11 @@ void EventReportService::listOfDisabledEventsReport() {
 	Message report = createTM(8);
 
 	// Any chance we'll have more than uint8_t (>255 events) ? This will produce an error!
-	uint8_t numberOfDisabledEvents = stateOfEvents.size() - stateOfEvents.count();
+	uint16_t numberOfDisabledEvents = stateOfEvents.size() - stateOfEvents.count();
 	report.appendByte(numberOfDisabledEvents);
-	for (uint8_t i = 0; i < stateOfEvents.size(); i++) {
+	for (uint16_t i = 0; i < stateOfEvents.size(); i++) {
 		if (stateOfEvents[i] == 0) {
-			report.appendEnum8(i);
+			report.appendEnum16(i);
 		}
 	}
 
diff --git a/test/Services/EventReportService.cpp b/test/Services/EventReportService.cpp
index 3a351da9a3af49a7f9cb270e57f6d30b430c6c91..e666b2d439dc8504a34184cb25a41c4681b8a10e 100644
--- a/test/Services/EventReportService.cpp
+++ b/test/Services/EventReportService.cpp
@@ -132,7 +132,7 @@ TEST_CASE("List of Disabled Events Report TM[5,8]", "[service][st05]") {
 	CHECK(report.packetType == Message::TM); // packet type(TM = 0, TC = 1)
 	REQUIRE(report.dataSize == 3);
 	// Check for the information stored in report
-	CHECK(report.readByte() == 2);
-	CHECK(report.readEnum8() == 3);
-	CHECK(report.readEnum8() == 6);
+	CHECK(report.readHalfWord() == 2);
+	CHECK(report.readEnum16() == 3);
+	CHECK(report.readEnum16() == 6);
 }