diff --git modules/overlay/overlay.module modules/overlay/overlay.module
index 9c390d0..c59e2fb 100644
--- modules/overlay/overlay.module
+++ modules/overlay/overlay.module
@@ -49,7 +49,7 @@ function overlay_init() {
     if (isset($_GET['render']) && $_GET['render'] == 'overlay') {
       // If this page shouldn't be rendered here, redirect to the parent.
       if (!path_is_admin($_GET['q'])) {
-        overlay_close_dialog();
+        overlay_close_dialog($_GET['q']);
       }
       // If system module did not switch the theme yet (i.e. this is not an
       // admin page, per se), we should switch the theme here.
@@ -527,7 +527,6 @@ function overlay_close_dialog($redirect = NULL) {
     'overlayChild' => array(
       'closeOverlay' => TRUE,
       'statusMessages' => theme('status_messages'),
-      'args' => $args,
       'redirect' => url($redirect),
     ),
   );
diff --git modules/system/system.module modules/system/system.module
index 83db1e7..1422b92 100644
--- modules/system/system.module
+++ modules/system/system.module
@@ -3682,6 +3682,7 @@ function system_admin_paths() {
   $paths = array(
     'admin' => TRUE,
     'admin/*' => TRUE,
+    'batch' => TRUE,
   );
   return $paths;
 }
