Index: branches/5.2.x/core/units/helpers/ajax_form_helper.php =================================================================== diff -u -N -r15357 -r15546 --- branches/5.2.x/core/units/helpers/ajax_form_helper.php (.../ajax_form_helper.php) (revision 15357) +++ branches/5.2.x/core/units/helpers/ajax_form_helper.php (.../ajax_form_helper.php) (revision 15546) @@ -82,7 +82,10 @@ } else { if ( !isset($params['redirect_to']) && ($event->redirect === true || strlen($event->redirect) > 0) ) { - $params['redirect_to'] = $this->Application->HREF($event->redirect, '', $event->getRedirectParams(), $event->redirectScript); + $redirect_to = $this->Application->HREF($event->redirect, '', $event->getRedirectParams(), $event->redirectScript); + + // is used from JavaScript / redirecting, so any "&" could break it + $params['redirect_to'] = str_replace(Array ('&', '%5C'), Array ('&', '\\'), $redirect_to); } $params = array_merge($params, $event->getRedirectParams());