Index: redirect.admin.inc
===================================================================
--- redirect.admin.inc	(revision 181)
+++ redirect.admin.inc	(working copy)
@@ -353,7 +353,6 @@
   _redirect_extract_url_options($element, $form_state);
   $value = &$form_state['values']['redirect'];
 
-
   // Normalize the path.
   $value = drupal_get_normal_path($value, $form_state['values']['language']);
 
Index: redirect.module
===================================================================
--- redirect.module	(revision 181)
+++ redirect.module	(working copy)
@@ -192,17 +192,21 @@
  */
 function redirect_url_inbound_alter(&$path, $original_path, $path_language) {
   // Redirect to canonical URLs.
-  if ($path && variable_get('redirect_canonical', 1)) {
+  if ($path && variable_get('redirect_canonical', 1) && !(arg(2) == 'search' && (arg(3) == 'redirect' || arg(3) == 'path'))) {
     $alias = drupal_get_path_alias($path, $path_language);
+
     if ($alias != $path && $alias != $original_path) {
-      //return redirect_redirect(array('redirect' => $alias, 'type' => 'global'));
+      $redirect = new stdClass();
+      $redirect->redirect = $alias;
+      $redirect->type = 'global';
+      return redirect_redirect($redirect);
     }
 
     // Redirect from default entity paths to the proper entity path.
     if ($path_entity = redirect_load_entity_from_path($path)) {
       $uri = entity_uri($path_entity['entity_type'], $path_entity['entity']);
       if ($path != $uri['path']) {
-        //return redirect_redirect(array('redirect' => $uri['path'], 'redirect_options' => $uri['options'], 'type' => 'global'));
+        return redirect_redirect(array('redirect' => $uri['path'], 'redirect_options' => $uri['options'], 'type' => 'global'));
       }
     }
   }
@@ -245,20 +249,20 @@
 
   // Redirect from non-clean URLs to clean URLs.
   if (variable_get('redirect_global_clean', 1) && variable_get('clean_url', 0) && strpos($request_uri, '?q=') !== FALSE) {
-    //$redirect_global = TRUE;
-    //$request_uri = str_replace('?q=', '', $request_uri);
+    $redirect_global = TRUE;
+    $request_uri = str_replace('?q=', '', $request_uri);
   }
 
   if (strpos($request_uri, 'index.php') !== FALSE) {
-    //$redirect_global = TRUE;
-    //$request_uri = str_replace('index.php', '', $request_uri);
+    $redirect_global = TRUE;
+    $request_uri = str_replace('index.php', '', $request_uri);
   }
 
-  //$request_uri = ltrim($request_uri, '/');
-  //$parsed = parse_url($request_uri);
+  $request_uri = ltrim($request_uri, '/');
+  $parsed = parse_url($request_uri);
 
   if ($redirect_global && $request_uri != $original_uri) {
-    redirect_redirect(array(/*'redirect' => $request_uri,*/ 'type' => 'global'));
+    redirect_redirect(array('redirect' => $request_uri, 'type' => 'global'));
   }
 }
 
