diff --git a/dialog.module b/dialog.module
index 6b11ffe..5b99875 100644
--- a/dialog.module
+++ b/dialog.module
@@ -31,7 +31,10 @@ function dialog_page_alter(&$page) {
     // Send over the commands.
     $commands = array();
     $commands[] = dialog_command_display($content, $options);
-    ajax_render($commands);
+    ajax_deliver(array(
+      '#type' => 'ajax',
+      '#commands' => $commands,
+    ));
   }
 }
 
@@ -69,7 +72,6 @@ function dialog_library() {
     'website' => 'http://drupal.org/project/dialog',
     'version' => '7.x',
     'js' => array(
-      $path . '/jquery.xLazyLoader.js' => array('group' => JS_LIBRARY),
       $path . '/dialog.js' => array('weight' => 5),
     ),
     'dependencies' => array(
@@ -95,42 +97,6 @@ function dialog_js_load($js = 'nojs') {
 }
 
 /**
- * Implement hook_ajax_render_alter().
- *
- * Using the xLazyLoader library and command, load additional css and
- * javascript into the page.
- *
- * TODO: Deal with overloading one theme's css onto another.
- */
-function dialog_ajax_render_alter(&$commands) {
-  if (dialog_display()) {
-    $loader = array();
-    $allowed_media = array('all', 'screen');
-    // Inject additional JavaScript and CSS to the browser's client.
-    $css = drupal_add_css();
-    drupal_alter('css', $css);
-    foreach ($css as $data => $options) {
-      if ($options['type'] == 'file' && in_array($options['media'], $allowed_media)) {
-        $loader['css'][] = base_path() . $options['data'];
-      }
-    }
-    $scripts = drupal_add_js();
-    drupal_alter('js', $scripts);
-    foreach ($scripts as $data => $options) {
-      if ($options['type'] == 'file') {
-        $loader['js'][] = base_path() . $options['data'];
-      }
-    }
-    if (!empty($loader)) {
-      array_unshift($commands, dialog_command_xlazyloader($loader));
-    }
-
-    // Prepend status messages to the dialog content.
-    $commands[] = ajax_command_prepend('#dialog', theme('status_messages'));
-  }
-}
-
-/**
  * Process a form and prepare it for the dialog.
  */
 function dialog_process_ajax_form($element) {
@@ -224,28 +190,3 @@ function dialog_command_reload() {
     'command' => 'dialog_reload',
   );
 }
-
-/**
- * Creates a Drupal AJAX 'xLazyLoader' command.
- *
- * The 'xLazyLoader' command loads additional JavaScript, CSS and images through
- * the xLazyLoader library (http://code.google.com/p/ajaxsoft/wiki/xLazyLoader).
- *
- * This command is implemented by Drupal.ajax.prototype.commands.xlazyloader()
- * defined in dialog.js.
- *
- * @param $options
- *   An associative of what JavaScript, CSS or images the client should load.
- *   - "js": An array of JavaScript files to load.
- *   - "css": An array of CSS files to load.
- *   - "img": An array of images to load.
- *
- * @return
- *   An array suitable for use with the ajax_render() function.
- */
-function dialog_command_xlazyloader($options = array()) {
-  return array(
-    'command' => 'xlazyloader',
-    'options' => $options,
-  );
-}
diff --git a/modules/dialog_user/dialog_user.module b/modules/dialog_user/dialog_user.module
index 8f0120d..48061f3 100644
--- a/modules/dialog_user/dialog_user.module
+++ b/modules/dialog_user/dialog_user.module
@@ -41,10 +41,10 @@ function dialog_user_ajax_callback($type, $js) {
       $path = 'user/register';
       break;
     case 'password':
-      // @TODO Why doesn't request new password work?
+      module_load_include('inc', 'user', 'user.pages');
       $title = t('Request new password');
       $form_id = 'user_pass';
-      $path = 'user/pass';
+      $path = 'user/password';
       break;
   }
 
@@ -90,8 +90,7 @@ function dialog_user_form_alter(&$form, &$form_state, $form_id) {
           );
         }
       }
-
-      $form['submit']['#ajax'] = array(
+      $form['actions']['submit']['#ajax'] = array(
         'callback' => 'drupal_render',
         'wrapper' => 'dialog-form-wrapper',
       );
@@ -109,6 +108,9 @@ function dialog_user_ajax_form_submit(&$form, &$form_state) {
   if (isset($form_state['redirect'])) {
     $commands = array();
     $commands[] = dialog_command_redirect($form_state['redirect']);
-    ajax_render($commands);
+    ajax_deliver(array(
+      '#type' => 'ajax',
+      '#commands' => $commands,
+    ));
   }
 }
