diff --git a/main/manager.c b/main/manager.c
index 69e86888414eae91b0f65547fcb706cdd8fdf675..d0898257106a8aa9d0291d0d850d1bdbd253d555 100644
--- a/main/manager.c
+++ b/main/manager.c
@@ -5512,6 +5512,10 @@ static void purge_sessions(int n_max)
 	time_t now = time(NULL);
 	struct ao2_iterator i;
 
+	if (!sessions) {
+		return;
+	}
+
 	i = ao2_iterator_init(sessions, 0);
 	while ((session = ao2_iterator_next(&i)) && n_max > 0) {
 		ao2_lock(session);