diff --git a/globalredirect.module b/globalredirect.module
index 8f24754..8517d49 100644
--- a/globalredirect.module
+++ b/globalredirect.module
@@ -221,6 +221,13 @@ function globalredirect_init() {
     }
   }
 
+  // Check to see if the request_path has been altered and does not match the
+  // current_path.  Modules like subpathauto may rewrite URLs but they won't be
+  // picked up as pure aliases.
+  if ($request_path != $current_path && $request_path != request_path()) {
+    globalredirect_goto($request_path, $options);
+  }
+
   // If no alias was returned, the final check is to direct non-clean to
   // clean - if clean is enabled
   if ($settings['nonclean_to_clean'] && ((bool)variable_get('clean_url', 0)) && strpos(request_uri(), '?q=')) {
