diff --git dialog.js dialog.js
index 7c5f393..0b8031d 100644
--- dialog.js
+++ dialog.js
@@ -27,6 +27,11 @@
       // Completely remove the dialog every time it is closed.  This is the
       // simplest way to get a clean slate on every dialog invokation.
       Drupal.Dialog.dialog.bind('dialogclose', function(event, ui) {
+        if (Drupal.Dialog.dialog.refreshOnClose == true) {
+          window.location.reload();
+          // No need to worry about the following resets. The page reload will
+          // reset everything anyway.
+        }
         $(this).remove();
         Drupal.Dialog.dialog = null;
       });
@@ -273,4 +278,11 @@
       title: Drupal.t('Loading...')
     });
   };
+
+  /**
+   * AJAX responder command to force page refresh on dialof close.
+   */
+  Drupal.CTools.AJAX.commands.dialog_refresh_on_close = function(command) {
+    Drupal.Dialog.dialog.refreshOnClose = true;
+  };
 })(jQuery);
diff --git dialog.module dialog.module
index bfa8b59..b99b845 100644
--- dialog.module
+++ dialog.module
@@ -91,6 +91,15 @@ function dialog_command_display($title, $html, $options = array()) {
 }
 
 /**
+ * Force page refresh on dialog close.
+ */
+function dialog_command_refresh_on_close() {
+  return array(
+    'command' => 'dialog_refresh_on_close',
+  );
+}
+
+/**
  * Dismiss the modal.
  */
 function dialog_command_dismiss() {

