diff --git a/redirect.admin.inc b/redirect.admin.inc
index 1e80438382..b7f6c6ef1b 100644
--- a/redirect.admin.inc
+++ b/redirect.admin.inc
@@ -484,7 +484,7 @@ function redirect_element_validate_redirect($element, &$form_state) {
   // Normalize the path.
   $value = drupal_get_normal_path($value, $form_state['values']['language']);

-  if (!valid_url($value) && !valid_url($value, TRUE) && $value != '<front>' && $value != '' && !file_exists($value)) {
+  if (!valid_url(rawurlencode($value)) && !valid_url(rawurlencode($value), TRUE) && $value != '<front>' && $value != '' && !file_exists($value)) {
     form_error($element, t('The redirect path %value is not valid.', array('%value' => $value)));
   }
