Index: admin_menu.module
===================================================================
--- admin_menu.module	(revision 17)
+++ admin_menu.module	(working copy)
@@ -86,7 +86,13 @@ function admin_menu_menu($may_cache) {
   drupal_add_js($path . '/admin_menu.js', 'module', 'header', TRUE);
 
   // Destination query strings are applied via JS.
-  $settings['destination'] = drupal_get_destination();
+  // @see drupal_get_destination()
+  $url_path = isset($_GET['q']) ? $_GET['q'] : '';
+  $url_query = drupal_query_string_encode($_GET, array('q'));
+  if ($url_query != '') {
+    $url_path .= '?'. $url_query;
+  }
+  $settings['destination'] = 'destination='. urlencode($url_path);
 
   // Hash for client-side HTTP/AJAX caching.
   $cid = 'admin_menu:' . $user->uid . ':' . $locale;
