diff --git a/src/hms123311.c b/src/hms123311.c
index 7feea85960b06a3238323e9b35d1bbdc241aed5c..b05c148a50ea6b0f47fc785e72c6b9566657ae4c 100644
--- a/src/hms123311.c
+++ b/src/hms123311.c
@@ -320,6 +320,8 @@ HMS_fetch_servers (msg_server_t *list, int room_number)
 			section_end = strstr(p, "\n\n");
 			room = strtok(p, "\n");
 			p = strtok(0, "");
+			if (! p)
+				break;
 			for (; i < MAXSERVERLIST && ( end = strchr(p, '\n') ); ++i)
 			{
 				*end = '\0';