diff --git a/src/net/listen.c b/src/net/listen.c
index f7383952e8631192c655a42586d18e3c46d004f2..c8e4cc54fff883636d16f365e69ff93474035ddf 100644
--- a/src/net/listen.c
+++ b/src/net/listen.c
@@ -822,13 +822,17 @@ lkt_client_auth(struct lkt_state *srv, size_t c, bool set)
 static inline void
 handle_queue_events(struct lkt_state *srv)
 {
-#define __CASE(type, func)                                                      \
-    case lkt_event_ ## type:                                                    \
-        LOG_DEBUG("EVENT", "Got event " #type " with attr (int: %d, ptr %0*p)", \
-                  evt.attr, sizeof(size_t) * CHAR_BIT / 4, evt.attr);           \
-        func;                                                                   \
+#define __CASE(type, func)                                                          \
+    case lkt_event_ ## type:                                                        \
+        if (evt.attr != NULL) {                                                     \
+            LOG_DEBUG("EVENT", "Got event " #type " with attr (int: %d, ptr %0*p)", \
+                      evt.attr, sizeof(size_t) * CHAR_BIT / 4, evt.attr);           \
+        } else {                                                                    \
+            LOG_DEBUG("EVENT", "Got event " #type " with NULL attr");               \
+        }                                                                           \
+        func;                                                                       \
         break;
-#define __ATTR_IS_STATE(state, func) {                                          \
+#define __ATTR_IS_STATE(state, func) { \
     if ((__LKT_PLAY_ ## state) == (size_t) evt.attr) { func; }}
 
     lkt_event evt;