diff --git a/2879893-8.patch b/2879893-8.patch
new file mode 100644
index 0000000..8e452bc
--- /dev/null
+++ b/2879893-8.patch
@@ -0,0 +1,185 @@
+diff --git a/url_redirect.admin.inc b/url_redirect.admin.inc
+index c66491b..0e76f15 100644
+--- a/url_redirect.admin.inc
++++ b/url_redirect.admin.inc
+@@ -35,7 +35,7 @@ function url_redirect_settings_form($form, &$form_state) {
+       'placeholder' => 'Enter Redirect Path',
+     ),
+     '#required' => TRUE,
+-     '#description' => t('This redirect path can be internal Drupal path such as node/add Enter <front> to link to the front page.'),
++    '#description' => t('This redirect path can be internal Drupal path such as node/add Enter <front> to link to the front page.'),
+   );
+   $form['url']['checked_for'] = array(
+     '#type' => 'radios',
+@@ -91,6 +91,11 @@ function url_redirect_settings_form($form, &$form_state) {
+     ),
+     '#required' => TRUE,
+   );
++  $form['url']['parameter'] = array(
++    '#type' => 'checkbox',
++    '#title' => t('Use Parameters'),
++    '#description' => t('Redirect with parameters'),
++  );
+   $form['url']['submit'] = array(
+     '#type' => 'submit',
+     '#value' => t('Submit'),
+@@ -167,6 +172,7 @@ function url_redirect_settings_form_submit($form, &$form_state) {
+   }
+   $status = $form_state['values']['status'];
+   $message = $form_state['values']['message'];
++  $parameter = $form_state['values']['parameter'];
+   // Inserting the data in the url_redirect table.
+   db_insert('url_redirect')
+       ->fields(array(
+@@ -177,6 +183,8 @@ function url_redirect_settings_form_submit($form, &$form_state) {
+         'status' => $status,
+         'message' => $message,
+         'check_for' => $checked_for,
++        'check_for' => $checked_for,
++        'parameter' => $parameter,
+       ))
+       ->execute();
+   // Redirect to listing page.
+diff --git a/url_redirect.info b/url_redirect.info
+index d33a675..4914e68 100644
+--- a/url_redirect.info
++++ b/url_redirect.info
+@@ -4,3 +4,10 @@ package = Other
+ core = 7.x
+ configure = admin/config/url_redirect
+ permissions = admin/people/permissions#edit-access-url-redirect-settings-page
++
++; Information added by Drupal.org packaging script on 2016-07-27
++version = "7.x-1.2"
++core = "7.x"
++project = "url_redirect"
++datestamp = "1469622244"
++
+diff --git a/url_redirect.install b/url_redirect.install
+index 241bab5..4832b57 100644
+--- a/url_redirect.install
++++ b/url_redirect.install
+@@ -58,3 +58,15 @@ function url_redirect_schema() {
+   );
+   return $schema;
+ }
++
++/**
++ * Implements hook_update_N().
++ * Add new field in url_redirect table.
++ */
++function url_redirect_update_7084() {
++  db_add_field('url_redirect', 'parameter', array(
++    'type' => 'varchar',
++    'length' => 24,
++    'not null' => TRUE,
++  ));
++}
+diff --git a/url_redirect.module b/url_redirect.module
+index 9ac82a8..614669d 100644
+--- a/url_redirect.module
++++ b/url_redirect.module
+@@ -88,7 +88,7 @@ function url_redirect_page_build(&$page) {
+   // Get wildcards list.
+   $wildcard_list = url_redirect_get_wildcards();
+   // check for path matcher.
+-  foreach($wildcard_list as $delta => $list){
++  foreach ($wildcard_list as $delta => $list) {
+     $redirect = $list['redirect_path'];
+     if (drupal_match_path($current_alias, $list['path'])) {
+       // Do the redirect.
+@@ -111,13 +111,21 @@ function url_redirect_page_build(&$page) {
+     if ($message == 'Yes') {
+       drupal_set_message(t("You have been redirected to '@link_path'.", array('@link_path' => $path_check['redirect_path'])));
+     }
++    $query = drupal_get_query_parameters();
++    $parameter = $path_check['parameter'];
+     // Check for Role.
+     if ($check_for == 'Role') {
+       $role_check = (array) json_decode($path_check['roles']);
+       $role_check_array = array_keys($role_check);
+       $user_role_check_array = array_keys($user->roles);
+       $checked_result = array_intersect($role_check_array, $user_role_check_array);
+-      if ($checked_result) {
++      if ($checked_result && $parameter && $query) {
++        drupal_goto($path_check['redirect_path'], array(
++          'query' => array(
++            $query,
++        )));
++      }
++      elseif ($checked_result) {
+         drupal_goto($path_check['redirect_path']);
+       }
+     }
+@@ -127,7 +135,13 @@ function url_redirect_page_build(&$page) {
+       $user_check_array = array_keys($user_check);
+       $uid = array($user->uid);
+       $checked_user_result = array_intersect($user_check_array, $uid);
+-      if ($checked_user_result) {
++      if ($checked_result && $parameter && $query) {
++        drupal_goto($path_check['redirect_path'], array(
++          'query' => array(
++            $query,
++        )));
++      }
++      elseif ($checked_result) {
+         drupal_goto($path_check['redirect_path']);
+       }
+     }
+@@ -172,17 +186,17 @@ function url_redirect_path_edit($path) {
+ /**
+  * Get Wildcard path(s).
+  */
+-function url_redirect_get_wildcards(){
++function url_redirect_get_wildcards() {
+   $wildcards = array();
+   $query = db_select('url_redirect', 'u');
+-  $query->fields('u',array('path','redirect_path'));
++  $query->fields('u', array('path', 'redirect_path'));
+   $db_or = db_or();
+-  $db_or->condition('path', '%' . db_like('/*') . '%', 'LIKE'); 
+-  $db_or->condition('path', '%' . db_like('/%') . '%', 'LIKE'); 
++  $db_or->condition('path', '%' . db_like('/*') . '%', 'LIKE');
++  $db_or->condition('path', '%' . db_like('/%') . '%', 'LIKE');
+   $query->condition($db_or);
+   $results = $query->execute()->fetchAll();
+   $i = 0;
+-  foreach($results as $result){
++  foreach ($results as $result) {
+     $wildcards[$i]['path'] = $result->path;
+     $wildcards[$i]['redirect_path'] = $result->redirect_path;
+     $i++;
+diff --git a/url_redirect_edit.inc b/url_redirect_edit.inc
+index 73090b2..44834af 100644
+--- a/url_redirect_edit.inc
++++ b/url_redirect_edit.inc
+@@ -85,6 +85,13 @@ function url_redirect_edit_form($form, &$form_state) {
+       '#required' => TRUE,
+       '#default_value' => $path_data['status'],
+     );
++    dsm($path_data['parameter']);
++    $form['parameter'] = array(
++      '#type' => 'checkbox',
++      '#title' => t('Use Parameters'),
++      '#description' => t('Redirect with parameters'),
++      '#default_value' => isset($path_data['parameter']) ? $path_data['parameter'] : '',
++    );
+     $form['submit'] = array(
+       '#type' => 'submit',
+       '#value' => t('Save'),
+@@ -158,6 +165,7 @@ function url_redirect_edit_form_submit($form, &$form_state) {
+   }
+   $status = $form_state['values']['status'];
+   $message = $form_state['values']['message'];
++  $parameter = $form_state['values']['parameter'];
+   db_update('url_redirect')
+       ->fields(array(
+         'path' => check_plain($path),
+@@ -167,6 +175,7 @@ function url_redirect_edit_form_submit($form, &$form_state) {
+         'status' => $status,
+         'message' => $message,
+         'check_for' => $checked_for,
++        'parameter' => $parameter,
+       ))
+       ->condition('path', $path)
+       ->execute();
diff --git a/url_redirect.admin.inc b/url_redirect.admin.inc
index c66491b..0e76f15 100644
--- a/url_redirect.admin.inc
+++ b/url_redirect.admin.inc
@@ -35,7 +35,7 @@ function url_redirect_settings_form($form, &$form_state) {
       'placeholder' => 'Enter Redirect Path',
     ),
     '#required' => TRUE,
-     '#description' => t('This redirect path can be internal Drupal path such as node/add Enter <front> to link to the front page.'),
+    '#description' => t('This redirect path can be internal Drupal path such as node/add Enter <front> to link to the front page.'),
   );
   $form['url']['checked_for'] = array(
     '#type' => 'radios',
@@ -91,6 +91,11 @@ function url_redirect_settings_form($form, &$form_state) {
     ),
     '#required' => TRUE,
   );
+  $form['url']['parameter'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Use Parameters'),
+    '#description' => t('Redirect with parameters'),
+  );
   $form['url']['submit'] = array(
     '#type' => 'submit',
     '#value' => t('Submit'),
@@ -167,6 +172,7 @@ function url_redirect_settings_form_submit($form, &$form_state) {
   }
   $status = $form_state['values']['status'];
   $message = $form_state['values']['message'];
+  $parameter = $form_state['values']['parameter'];
   // Inserting the data in the url_redirect table.
   db_insert('url_redirect')
       ->fields(array(
@@ -177,6 +183,8 @@ function url_redirect_settings_form_submit($form, &$form_state) {
         'status' => $status,
         'message' => $message,
         'check_for' => $checked_for,
+        'check_for' => $checked_for,
+        'parameter' => $parameter,
       ))
       ->execute();
   // Redirect to listing page.
diff --git a/url_redirect.info b/url_redirect.info
index d33a675..a837d26 100644
--- a/url_redirect.info
+++ b/url_redirect.info
@@ -4,3 +4,5 @@ package = Other
 core = 7.x
 configure = admin/config/url_redirect
 permissions = admin/people/permissions#edit-access-url-redirect-settings-page
+
+
diff --git a/url_redirect.install b/url_redirect.install
index 241bab5..4832b57 100644
--- a/url_redirect.install
+++ b/url_redirect.install
@@ -58,3 +58,15 @@ function url_redirect_schema() {
   );
   return $schema;
 }
+
+/**
+ * Implements hook_update_N().
+ * Add new field in url_redirect table.
+ */
+function url_redirect_update_7084() {
+  db_add_field('url_redirect', 'parameter', array(
+    'type' => 'varchar',
+    'length' => 24,
+    'not null' => TRUE,
+  ));
+}
diff --git a/url_redirect.module b/url_redirect.module
index 9ac82a8..614669d 100644
--- a/url_redirect.module
+++ b/url_redirect.module
@@ -88,7 +88,7 @@ function url_redirect_page_build(&$page) {
   // Get wildcards list.
   $wildcard_list = url_redirect_get_wildcards();
   // check for path matcher.
-  foreach($wildcard_list as $delta => $list){
+  foreach ($wildcard_list as $delta => $list) {
     $redirect = $list['redirect_path'];
     if (drupal_match_path($current_alias, $list['path'])) {
       // Do the redirect.
@@ -111,13 +111,21 @@ function url_redirect_page_build(&$page) {
     if ($message == 'Yes') {
       drupal_set_message(t("You have been redirected to '@link_path'.", array('@link_path' => $path_check['redirect_path'])));
     }
+    $query = drupal_get_query_parameters();
+    $parameter = $path_check['parameter'];
     // Check for Role.
     if ($check_for == 'Role') {
       $role_check = (array) json_decode($path_check['roles']);
       $role_check_array = array_keys($role_check);
       $user_role_check_array = array_keys($user->roles);
       $checked_result = array_intersect($role_check_array, $user_role_check_array);
-      if ($checked_result) {
+      if ($checked_result && $parameter && $query) {
+        drupal_goto($path_check['redirect_path'], array(
+          'query' => array(
+            $query,
+        )));
+      }
+      elseif ($checked_result) {
         drupal_goto($path_check['redirect_path']);
       }
     }
@@ -127,7 +135,13 @@ function url_redirect_page_build(&$page) {
       $user_check_array = array_keys($user_check);
       $uid = array($user->uid);
       $checked_user_result = array_intersect($user_check_array, $uid);
-      if ($checked_user_result) {
+      if ($checked_result && $parameter && $query) {
+        drupal_goto($path_check['redirect_path'], array(
+          'query' => array(
+            $query,
+        )));
+      }
+      elseif ($checked_result) {
         drupal_goto($path_check['redirect_path']);
       }
     }
@@ -172,17 +186,17 @@ function url_redirect_path_edit($path) {
 /**
  * Get Wildcard path(s).
  */
-function url_redirect_get_wildcards(){
+function url_redirect_get_wildcards() {
   $wildcards = array();
   $query = db_select('url_redirect', 'u');
-  $query->fields('u',array('path','redirect_path'));
+  $query->fields('u', array('path', 'redirect_path'));
   $db_or = db_or();
-  $db_or->condition('path', '%' . db_like('/*') . '%', 'LIKE'); 
-  $db_or->condition('path', '%' . db_like('/%') . '%', 'LIKE'); 
+  $db_or->condition('path', '%' . db_like('/*') . '%', 'LIKE');
+  $db_or->condition('path', '%' . db_like('/%') . '%', 'LIKE');
   $query->condition($db_or);
   $results = $query->execute()->fetchAll();
   $i = 0;
-  foreach($results as $result){
+  foreach ($results as $result) {
     $wildcards[$i]['path'] = $result->path;
     $wildcards[$i]['redirect_path'] = $result->redirect_path;
     $i++;
diff --git a/url_redirect_edit.inc b/url_redirect_edit.inc
index 73090b2..44834af 100644
--- a/url_redirect_edit.inc
+++ b/url_redirect_edit.inc
@@ -85,6 +85,13 @@ function url_redirect_edit_form($form, &$form_state) {
       '#required' => TRUE,
       '#default_value' => $path_data['status'],
     );
+    dsm($path_data['parameter']);
+    $form['parameter'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Use Parameters'),
+      '#description' => t('Redirect with parameters'),
+      '#default_value' => isset($path_data['parameter']) ? $path_data['parameter'] : '',
+    );
     $form['submit'] = array(
       '#type' => 'submit',
       '#value' => t('Save'),
@@ -158,6 +165,7 @@ function url_redirect_edit_form_submit($form, &$form_state) {
   }
   $status = $form_state['values']['status'];
   $message = $form_state['values']['message'];
+  $parameter = $form_state['values']['parameter'];
   db_update('url_redirect')
       ->fields(array(
         'path' => check_plain($path),
@@ -167,6 +175,7 @@ function url_redirect_edit_form_submit($form, &$form_state) {
         'status' => $status,
         'message' => $message,
         'check_for' => $checked_for,
+        'parameter' => $parameter,
       ))
       ->condition('path', $path)
       ->execute();
