diff --git includes/view.inc includes/view.inc
index d90f3bf..133424c 100644
--- includes/view.inc
+++ includes/view.inc
@@ -1150,7 +1150,15 @@ class view extends views_db_object {
 
         }
         else {
-          $pieces[] = array_shift($args);
+          $arg = array_shift($args);
+          $old_base_alias = $this->argument[$id]->base_alias;
+
+          $this->argument[$id]->base_alias = 'base';
+          $data = (object) array('base' => $arg);
+
+          $pieces[] = $this->argument[$id]->summary_argument($data);
+
+          $this->argument[$id]->base_alias = $old_base_alias;
         }
 
         if ($id) {
@@ -1160,7 +1168,23 @@ class view extends views_db_object {
     }
 
     if (!empty($args)) {
-      $pieces = array_merge($pieces, $args);
+      while ($arg = array_shift($args)) {
+        $old_base_alias = $this->argument[$id]->base_alias;
+
+        $this->argument[$id]->base_alias = 'base';
+        $data = (object) array('base' => $arg);
+
+        $pieces[] = $this->argument[$id]->summary_argument($data);
+
+        $this->argument[$id]->base_alias = $old_base_alias;
+
+        if ($id) {
+          $id = next($argument_keys);
+        }
+        else {
+          $pieces = array_merge($pieces, $args);
+        }
+      }
     }
     return implode('/', $pieces);
   }
