diff options
Diffstat (limited to 'includes')
-rw-r--r-- | includes/form.inc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/includes/form.inc b/includes/form.inc index 5e911ed63..159653509 100644 --- a/includes/form.inc +++ b/includes/form.inc @@ -629,6 +629,12 @@ function drupal_redirect_form($form, $redirect = NULL) { } if (!isset($goto) || ($goto !== FALSE)) { if (isset($goto)) { + // Remove any fake destination set by drupal_not_found() or + // drupal_access_denied() so that we can properly redirect from those + // pages. + if (isset($_REQUEST['destination']) && $_REQUEST['destination'] == $_GET['q']) { + unset($_REQUEST['destination']); + } if (is_array($goto)) { call_user_func_array('drupal_goto', $goto); } |