diff --git a/core/modules/overlay/overlay-child.js b/core/modules/overlay/overlay-child.js
index cd7cdee..abf0b7a 100644
--- a/core/modules/overlay/overlay-child.js
+++ b/core/modules/overlay/overlay-child.js
@@ -120,6 +120,29 @@ Drupal.overlayChild.behaviors.parseForms = function (context, settings) {
   $(context).find('form').once('overlay', function () {
     // Obtain the action attribute of the form.
     var action = $(this).attr('action');
+    // Special handling for method=get forms, which will break out of the
+    // overlay entirely if we let them submit by themselves.
+    if ($(this).attr('method') == 'get') {
+      $(this).bind('submit.overlay', function (event) {
+        // Redirect the parent window to the new overlay-ready URL.
+        event.preventDefault();
+        parent.Drupal.overlay.redirect(getFormActionFragmentized($(event.target)));
+      });
+      // Remove the original inline click handler of views reset buttons, which
+      // would actually submit the form.
+      $('.views-reset-button input').removeAttr('onclick');
+      // Add a new click handler which just uses the redirect function instead of
+      // actually submitting the form.
+      $('.views-reset-button input').click(function () {
+        $(this.form).find(':input').each(function () {
+          if (this.type == 'text' || this.type == 'select-multiple' || this.type == 'select') {
+            $(this).val('');
+            this.setAttribute('value', '');
+          }
+        });
+        parent.Drupal.overlay.redirect(getFormActionFragmentized($(this.form)));
+      });
+    }
     // Keep internal forms in the overlay.
     if (typeof action === 'undefined' || (action.indexOf('http') !== 0 && action.indexOf('https') !== 0)) {
       action += (action.indexOf('?') > -1 ? '&' : '?') + 'render=overlay';
@@ -130,6 +153,16 @@ Drupal.overlayChild.behaviors.parseForms = function (context, settings) {
       $(this).attr('target', '_new');
     }
   });
+
+  function getFormActionFragmentized($form) {
+    // Determine the URL this form would submit to if left to its own
+    // devices.
+    var newHref = $form.attr('action') + '&' + $form.formSerialize();
+    // Make that URL overlay-ready (i.e. "fragmentize" it).
+    // First, create a native link object for fragmentizeLink() to act on.
+    var link = jQuery('<a href="' + newHref + '"></a>').get(0);
+    return parent.Drupal.overlay.fragmentizeLink(link);
+  }
 };
 
 /**
