=== modified file 'includes/path.inc'
--- includes/path.inc	2009-01-04 20:04:32 +0000
+++ includes/path.inc	2009-04-01 12:07:55 +0000
@@ -15,7 +15,20 @@
  */
 function drupal_init_path() {
   if (!empty($_GET['q'])) {
-    $_GET['q'] = drupal_get_normal_path(trim($_GET['q'], '/'));
+    $path = trim($_GET['q'], '/');
+    $trimmed_original_path = $path;
+    $arg = '';
+    while ($path) {
+      $normal_path = drupal_get_normal_path($path);
+      if ($normal_path != $path) {
+        $_GET['q'] = $normal_path . $arg;
+        return;
+      }
+      $slash = strrpos($path, '/');
+      $arg = substr($path, $slash) . $arg;
+      $path = substr($path, 0, $slash);
+    }
+    $_GET['q'] = $trimmed_original_path;
   }
   else {
     $_GET['q'] = drupal_get_normal_path(variable_get('site_frontpage', 'node'));

