diff --git a/sway/ipc.c b/sway/ipc.c
index c1518c1f..325d78ab 100644
--- a/sway/ipc.c
+++ b/sway/ipc.c
@@ -74,6 +74,10 @@ void ipc_terminate(void) {
 	}
 	close(ipc_socket);
 	unlink(ipc_sockaddr->sun_path);
+
+	if (ipc_sockaddr) {
+		free(ipc_sockaddr);
+	}
 }
 
 struct sockaddr_un *ipc_user_sockaddr(void) {