Index: modules/contrib/simplenews_statistics/simplenews_statistics.module
===================================================================
--- modules/contrib/simplenews_statistics/simplenews_statistics.module	(revision )
+++ modules/contrib/simplenews_statistics/simplenews_statistics.module	(revision )
@@ -101,7 +101,7 @@
   if ($stat['mail'] && $stat['nid'] && $stat['url']) {
     db_query("INSERT INTO {simplenews_statistics_clicks} (email, nid, url, timestamp) VALUES ('%s', %d, '%s', %d)", 
             $stat['mail'], $stat['nid'], urldecode($stat['url']), time());
-    
+
     drupal_goto(urldecode($stat['url']));
   }
   
@@ -288,7 +288,12 @@
     if (md5($pars) == $pars_hash) {
       require_once drupal_get_path('module', 'simplenews_statistics') .'/rc4.inc';
       $pars = rc4Encrypt(simplenews_private_key(), $pars);
+      // we parse url separately so it wil keep & in url (we use strpos as this is the last position in url encoding
+      $pos = strpos($pars, '&url=');
+      $url = substr($pars, $pos + 5);
+      $pars = substr($pars, 0, $pos);
       parse_str($pars, $stat);
+      $stat['url'] = $url;
     }
   }
   /*
@@ -308,4 +313,4 @@
 
 function _simplenews_statistics_decode_parameter($par) {
   return unserialize(gzuncompress(stripslashes(base64_decode(strtr($par, '-_,', '+/=')))));
-}
\ No newline at end of file
+}
