diff --git a/link.module b/link.module
index e17c26f..210dde6 100644
--- a/link.module
+++ b/link.module
@@ -506,6 +506,12 @@ function _link_sanitize(&$item, $delta, &$field, $instance, &$entity) {
       )
     );
   }
+  
+  // Core's url() by default encodes all query strings. For external links, 
+  // this probably might not be always right. Could not fine any standard that 
+  // specified all sites are expected to handle the query strings even if they 
+  // are already sent decoded.
+  $item['url'] = urldecode($item['url']);
 
   // Create a shortened URL for display.
   if ($type == LINK_EMAIL) {
