Index: modules/mappers/mod_alias.c
===================================================================
--- modules/mappers/mod_alias.c	(revision 1686748)
+++ modules/mappers/mod_alias.c	(working copy)
@@ -252,12 +252,15 @@
         status = HTTP_MOVED_TEMPORARILY;
     else if (!strcasecmp(arg1, "seeother"))
         status = HTTP_SEE_OTHER;
-    else if (!strcasecmp(arg1, "gone"))
-        status = HTTP_GONE;
-    else if (apr_isdigit(*arg1))
-        status = atoi(arg1);
-    else
-        grokarg1 = 0;
+    else {
+        grokarg1 = -1;
+        if (!strcasecmp(arg1, "gone"))
+            status = HTTP_GONE;
+        else if (apr_isdigit(*arg1))
+            status = atoi(arg1);
+        else
+            grokarg1 = 0;
+    }
 
     if (arg3 && !grokarg1)
         return "Redirect: invalid first argument (of three)";
@@ -270,7 +273,7 @@
      * if we understand the first arg but have no second arg, we are dealing
      * with a status like "GONE".
      */
-    if (grokarg1 && arg2 && !arg3 && HTTP_GONE != status) {
+    if (grokarg1 > 0 && arg2 && !arg3 && HTTP_GONE != status) {
         const char *expr_err = NULL;
 
         dirconf->redirect =
