diff --git a/funcs/func_env.c b/funcs/func_env.c
index 1b11b1fa7cfd3ea8ddd38d41c5c1b9a9d9c7cf0f..861adebae03b471e8dee6cdaaf2d0ae779791d0e 100644
--- a/funcs/func_env.c
+++ b/funcs/func_env.c
@@ -307,7 +307,7 @@ static int stat_read(struct ast_channel *chan, const char *cmd, char *data,
 			snprintf(buf, len, "%d", (int) s.st_ctime);
 			break;
 		case 'm':
-			snprintf(buf, len, "%o", s.st_mode);
+			snprintf(buf, len, "%o", (unsigned int) s.st_mode);
 			break;
 		}
 	}