diff --git a/page_manager.install b/page_manager.install
index ad2781c..b170ce7 100644
--- a/page_manager.install
+++ b/page_manager.install
@@ -23,6 +23,8 @@ function page_manager_schema_1() {
       'identifier' => 'handler',
       'bulk export' => TRUE,
       'export callback' => 'page_manager_export_task_handler',
+      'load callback' => 'page_manager_export_task_handler_load',
+      'delete callback' => 'page_manager_delete_task_handler',
       'primary key' => 'did',
       'api' => array(
         'owner' => 'page_manager',
diff --git a/page_manager.module b/page_manager.module
index 790c64e..be15658 100644
--- a/page_manager.module
+++ b/page_manager.module
@@ -697,6 +697,44 @@ function page_manager_export_task_handler($handler, $indent = '') {
 }
 
 /**
+ * Loads page manager handler for export.
+ * 
+ * Callback to load page manager handler within ctools_export_crud_load().
+ * 
+ * @param string $name
+ *   The name of the handler to load.
+ * 
+ * @return
+ *   Loaded page manager handler object, extended with external properties.
+ */
+function page_manager_export_task_handler_load($name) {
+  $table = 'page_manager_handlers';
+  $schema = ctools_export_get_schema($table);
+  $export = $schema['export'];
+
+  $result = ctools_export_load_object($table, 'names', array($name));
+  if (isset($result[$name])) {
+    $handler = $result[$name];
+
+    // Weight is stored in additional table so that in-code task handlers
+    // don't need to get written to the database just because they have their
+    // weight changed. Therefore, handler could have no correspondent database
+    // entry. Revert will not be performed for this handler and the weight
+    // will not be reverted. To make possible revert of the weight field
+    // export_type must simulate that the handler is stored in the database.
+    $handler->export_type = EXPORT_IN_DATABASE;
+
+    // Also, page manager handler weight should be overriden with correspondent
+    // weight from page_manager_weights table, if there is one.
+    $result = db_query('SELECT weight FROM {page_manager_weights} WHERE name = (:names)', array(':names' => $handler->name))->fetchField();
+    if (is_numeric($result)) {
+      $handler->weight = $result;
+    }
+    return $handler;
+  }
+}
+
+/**
  * Create a new task handler object.
  *
  * @param $plugin
