Index: plugins/arguments/string.inc
===================================================================
--- plugins/arguments/string.inc	(revision 129)
+++ plugins/arguments/string.inc	(working copy)
@@ -49,6 +49,12 @@
     '#default_value' => !empty($conf['use_tail']),
     '#description' => t('If checked, this string will include all arguments. For example, if the path is "path/%" and the user visits "path/foo/bar", if this is not checked the string will be "foo". If it is checked the string will be "foo/bar".'),
   );
+  $form['settings']['use_query_string'] = array(
+    '#title' => t('Append the query string'),
+    '#type' => 'checkbox',
+    '#default_value' => !empty($conf['use_query_string']),
+    '#description' => t('If checked, this string will include the URL query string. For example, if the path is "path/%foo" and the user visits "path/foo?bar=zee", if this is not checked the string will be "foo". If it is checked the string will be "foo?bar=zee".'),
+  );
 }
 
 /**
Index: page_manager/plugins/tasks/page.inc
===================================================================
--- page_manager/plugins/tasks/page.inc	(revision 129)
+++ page_manager/plugins/tasks/page.inc	(working copy)
@@ -299,6 +299,11 @@
           else {
             $value = implode('/', array_slice($args, $count));
           }
+          if ($argument['settings']['use_query_string']) {
+            $query = $_GET;
+            unset($query['q']);
+            $value .= '?' . http_build_query($query);
+          }
 
           $context = ctools_context_get_context_from_argument($argument, $value);
         }
