diff --git a/main/event.c b/main/event.c
index 73858c885dfefc0bb5fbcc62ec596a2e3a2874cd..a905f633023031bd38f3fbfb5bb1d950d6e3e6fa 100644
--- a/main/event.c
+++ b/main/event.c
@@ -427,6 +427,7 @@ const void *ast_event_get_ie_raw(const struct ast_event *event, enum ast_event_i
 	while ((((void *) ie) - ((void *) event)) < event_len) {
 		if (ie->ie_type == ie_type)
 			return ie->ie_payload;
+		ie = ((void *) ie) + sizeof(*ie) + ntohs(ie->ie_payload_len);
 	}
 	
 	return NULL;