diff --git a/main/manager.c b/main/manager.c
index 20590126afe371e2cc871cfbce165b2c6edd16ad..2589d033b44f99b9103dd4d600d955efb861b939 100644
--- a/main/manager.c
+++ b/main/manager.c
@@ -1862,6 +1862,7 @@ static int action_status(struct mansession *s, const struct message *m)
 		c = ast_get_channel_by_name_locked(name);
 		if (!c) {
 			astman_send_error(s, m, "No such channel");
+			ast_free(str);
 			return 0;
 		}
 	}