diff --git views_field_view_handler_field_view.inc views_field_view_handler_field_view.inc
index c2598ee..1ffc2e4 100644
--- views_field_view_handler_field_view.inc
+++ views_field_view_handler_field_view.inc
@@ -111,17 +111,33 @@ class views_field_view_handler_field_view extends views_handler_field {
       // Add each argument token configured for this view_field.
       foreach (explode(',', $this->options['arguments']) as $token) {
         // Remove the brackets around the token
-        $argument = substr($token, 1, -1);
+        if (preg_match('/^\[(.+)\]$/', $token, $matches[1])) {
+          $argument = $matches[1];
         // Collect all of the values that we intend to use as arguments of our single query.
-        if (isset($this->view->field[$argument]->field_alias)) {
-          $field_alias = $this->view->field[$argument]->field_alias;
-          foreach($values as $value) {
-            if (isset($value->$field_alias)) {
-              $this->child_arguments[$field_alias]['argument_name'] = $argument;
-              $this->child_arguments[$field_alias]['values'][] = $value->$field_alias;
+          if (isset($this->view->field[$argument]->field_alias)) {
+            $field_alias = $this->view->field[$argument]->field_alias;
+            foreach($values as $value) {
+              if (isset($value->$field_alias)) {
+                $this->child_arguments[$field_alias]['argument_name'] = $argument;
+                $this->child_arguments[$field_alias]['values'][] = $value->$field_alias;
+              }
             }
           }
         }
+        else {
+          $argument = $token;
+          $alter = array(
+            'text' => $argument,
+          );
+          $tokens = $this->get_render_tokens($alter);
+          $value = $this->render_altered($alter, $tokens);
+          $args[] = $value;
+          $child_argument = array(
+            'argument_name' => $argument,
+            'values' => array($value),
+          );
+          $this->child_arguments[] = $child_argument;
+        }
       }
 
       // Cache the child_view in this object to minize our calls to views_get_view.
@@ -181,13 +197,13 @@ class views_field_view_handler_field_view extends views_handler_field {
           // Check each argument that we care about to ensure that it matches.
           foreach($this->child_arguments as $child_argument_field_alias => $child_argument) {
             // If one of our arguments does not match the argument of this field, do not add it to this row.
-            if ($value->$child_argument_field_alias != $result->{$child_argument['child_view_field_alias']}) {
+            if (isset($value->$child_argument_field_alias) && $value->$child_argument_field_alias != $result->{$child_argument['child_view_field_alias']}) {
               $matching_item = FALSE;
             }
           }
-          if ($matching_item) {
+          //if ($matching_item) {
             $child_view_result_row[] = $result;
-          }
+          //}
         }
         // Make a best effort attempt at paging.
         if (isset($this->child_view->pager['items_per_page'])) {
