diff --git a/workbench_media.module b/workbench_media.module
index 6cd3cad..fffac77 100644
--- a/workbench_media.module
+++ b/workbench_media.module
@@ -16,10 +16,10 @@ function workbench_media_menu() {
   $items['admin/workbench/media/add'] = array(
     'title' => 'Add Media',
     'page callback' => 'drupal_get_form',
-    'page arguments' => array('workbench_media_add'),
+    'page arguments' => array('file_entity_add_upload'),
     'access arguments' => array('use workbench_media add form'),
-    'file' => 'includes/media.pages.inc',
-    'file path' => drupal_get_path('module', 'media'),
+    'file' => 'file_entity.pages.inc',
+    'file path' => drupal_get_path('module', 'file_entity'),
     'type' => MENU_VISIBLE_IN_BREADCRUMB,
   );
 
@@ -49,7 +49,9 @@ function workbench_media_workbench_create_alter(&$output) {
       array(
         'title' => t('Upload Media'),
         'href' => 'admin/workbench/media/add',
-        'localized_options' => array(),
+        'localized_options' => array(
+          'query' => drupal_get_destination(),
+        ),
         'description' => t('Add photos, videos, audio, or other files to the site.'),
       )
     );
@@ -61,37 +63,3 @@ function workbench_media_workbench_create_alter(&$output) {
     );
   }
 }
-
-/**
- * Form callback for adding media.
- *
- * Uses Media's own upload form and adds a submit function.
- *
- * A wrapper function is used because:
- *   1. Using hook_form_alter() would require fragile logic to figure out when
- *   to alter the upload form.
- *   2. We may want to extend the media form functionality in the future.
- */
-function workbench_media_add($form, &$form_state) {
-  $form = drupal_get_form('media_add_upload', $form, $form_state);
-  $form['#submit'][] = 'workbench_media_add_submit';
-  return $form;
-}
-
-/**
- * Submit function for the media add form.
- *
- * Redirects to the uploaded media's edit form so that you can intuitively edit
- * fields on the new media item.
- */
-function workbench_media_add_submit($form, &$form_state) {
-  $dest = 'admin/workbench/files';
-
-  // Was a file successfully uploaded?
-  if (!empty($form_state['values']['upload']->fid)) {
-    $form_state['redirect'] = array('media/' . $form_state['values']['upload']->fid . '/edit', array('query' => array('destination' => $dest)));
-  }
-  else {
-    $form_state['redirect'] = array($dest);
-  }
-}
