diff --git a/admin_menu.module b/admin_menu.module
index d1ab299..e47cbcc 100644
--- a/admin_menu.module
+++ b/admin_menu.module
@@ -289,7 +289,8 @@ function admin_menu_translated_menu_link_alter(&$item, $map) {
   }
   // Fix destination query strings
   if (isset($item['localized_options']['query'])) {
-    if ($item['localized_options']['query'] == 'destination') {
+    parse_str($item['localized_options']['query'], $query);
+    if (isset($query['destination'])) {
       // URL token protects the link against CSRF attacks.
       $item['localized_options']['query'] = drupal_get_destination() . '&token=' . drupal_get_token($item['link_path']);
     }
