diff -ur modules/globalredirect//globalredirect.module modules-patched/globalredirect//globalredirect.module
--- modules/globalredirect//globalredirect.module	2011-12-21 06:19:56.000000000 +1100
+++ modules-patched/globalredirect//globalredirect.module	2012-02-07 22:40:28.000000000 +1100
@@ -85,7 +85,7 @@
 
     // Redirect if the current request does not refer to the front page in the
     // configured fashion (with or without a prefix)
-    if (isset($_REQUEST['q']) && $_REQUEST['q'] != $prefix) {
+    if (isset($_REQUEST['q']) && rtrim($_REQUEST['q'],'/') != $prefix) {
       drupal_goto('', $query_string, NULL, 301);
     }
     elseif ($settings['nonclean_to_clean'] &&
@@ -176,6 +176,7 @@
   // Find an alias (if any) for the request
   $langcode = isset($options['language']->language) ? $options['language']->language : '';
   $alias = drupal_get_path_alias($request, $langcode);
+  $orig_alias = $alias;
   if (function_exists('custom_url_rewrite_outbound')) {
     // Modules may alter outbound links by reference.
     custom_url_rewrite_outbound($alias, $options, $request);
@@ -183,6 +184,9 @@
   if ($prefix && $alias) {
     $prefix .= '/';
   }
+  if ($alias == $prefix.$orig_alias) {
+    $alias = $orig_alias;
+  }
 
   // Alias case sensitivity check. If there is an alias from the previous
   // lookup, do a query to test for case.
