diff --git a/data_ui/data_ui.admin.inc b/data_ui/data_ui.admin.inc
index aaa15ed..7f1f3a6 100644
--- a/data_ui/data_ui.admin.inc
+++ b/data_ui/data_ui.admin.inc
@@ -41,29 +41,56 @@ function data_ui_manage() {
     $operations = array();
     if ($table->get('export_type') == EXPORT_IN_CODE) {
       $status = t('Default');
-      $operations[] = l(t('Override'), 'admin/structure/data/edit/' . $table->get('name'));
+      $operations[] = array(
+        'title' => t('Override'),
+        'href' =>'admin/structure/data/edit/' . $table->get('name'),
+      );
     }
     else if ($table->get('export_type') == (EXPORT_IN_CODE | EXPORT_IN_DATABASE)) {
       $status = t('Overridden');
-      $operations[] = l(t('Edit'), 'admin/structure/data/edit/' . $table->get('name'));
-      $operations[] = l(t('Revert'), 'admin/structure/data/revert/' . $table->get('name'));
+      $operations[] = array(
+        'title' => t('Edit'),
+        'href' => 'admin/structure/data/edit/' . $table->get('name'),
+      );
+      $operations[] = array(
+        'title' => t('Revert'),
+        'href' => 'admin/structure/data/revert/' . $table->get('name'),
+      );
     }
     else {
       $status = t('Normal');
-      $operations[] = l(t('Edit'), 'admin/structure/data/edit/' . $table->get('name'));
-      $operations[] = l(t('Disown'), 'admin/structure/data/disown/' . $table->get('name'));
-      $operations[] = l(t('Drop'), 'admin/structure/data/drop/' . $table->get('name'));
+      $operations[] = array(
+        'title' => t('Edit'),
+        'href' => 'admin/structure/data/edit/' . $table->get('name'),
+      );
+      $operations[] = array(
+        'title' => t('Disown'),
+        'href' => 'admin/structure/data/disown/' . $table->get('name'),
+      );
+      $operations[] = array(
+        'title' => t('Drop'),
+        'href' => 'admin/structure/data/drop/' . $table->get('name'),
+      );
     }
     if (module_exists('ctools')) {
-      $operations[] = l(t('Export'), 'admin/structure/data/export/' . $table->get('name'));
+      $operations[] = array(
+        'title' => t('Export'),
+        'href' => 'admin/structure/data/export/' . $table->get('name'),
+      );
     }
     if (module_exists('views')) {
       // The existence of a path serves as a test that a view is provided.
       $path = data_ui_get_default_path($table->get('name'));
       if ($path) {
-        $operations[] = l(t('View records'), 'admin/content/data/view/' . $table->get('name'));
+        $operations[] = array(
+          'title' => t('View records'),
+          'href' => 'admin/content/data/view/' . $table->get('name'),
+        );
         if (user_access('administer views')) {
-          $operations[] = l(t('Edit view'), 'admin/structure/views/view/' . $table->get('name') . '/edit');
+          $operations[] = array(
+            'title' => t('Edit view'),
+            'href' => 'admin/structure/views/view/' . $table->get('name') . '/edit',
+          );
         }
       }
     }
@@ -72,7 +99,12 @@ function data_ui_manage() {
     $row[] = check_plain($table->get('title'));
     $row[] = check_plain($table->get('name'));
     $row[] = $status;
-    $row[] = implode(' | ', $operations);
+    // Using ctools_dropdown as a temporary measure until CTools dropbuttons
+    // are usable -- see https://www.drupal.org/node/1557662.
+    $row[] = theme('ctools_dropdown', array(
+      'title' => t("Operations"),
+      'links' => $operations,
+    ));
 
     $rows[] = $row;
   }
