summaryrefslogtreecommitdiff
path: root/includes/form.inc
diff options
context:
space:
mode:
Diffstat (limited to 'includes/form.inc')
-rw-r--r--includes/form.inc6
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);
}