diff --git a/main/manager.c b/main/manager.c
index 6207bb2391f8b976a0c9fbc5b20ced3f7ad281b7..1c4d2c19e5bcf4c7cd8f4ab85a1ae44560bce0a4 100644
--- a/main/manager.c
+++ b/main/manager.c
@@ -2767,10 +2767,11 @@ static char *generic_http_callback(enum output_format format,
 		char *buf;
 		off_t len = lseek(s->fd, 0, SEEK_END);	/* how many chars available */
 
-		if (len > 0 && (buf = ast_calloc(1, len+1))) {
+		/* always return something even if len == 0 */
+		if ((buf = ast_calloc(1, len+1))) {
 			if (!s->outputstr)
 				s->outputstr = ast_calloc(1, sizeof(*s->outputstr));
-			if (s->outputstr) {
+			if (len > 0 && s->outputstr) {
 				lseek(s->fd, 0, SEEK_SET);
 				read(s->fd, buf, len);
 				if (0)