diff --git a/entity_boxes.admin.inc b/entity_boxes.admin.inc
index ed9aca0..883704f 100644
--- a/entity_boxes.admin.inc
+++ b/entity_boxes.admin.inc
@@ -12,7 +12,7 @@
 /**
  * UI controller.
  */
-class BoxEntityUIController extends EntityDefaultUIController {
+class BoxEntityUIController extends EntityContentUIController {
 
   /**
    * Overrides hook_menu() defaults. Main reason for doing this is that
@@ -44,6 +44,13 @@ class BoxEntityUIController extends EntityDefaultUIController {
       'access arguments' => array('view', 1),
       'type' => MENU_CALLBACK,
     );
+
+    $items['entity_boxes/' . $wildcard . '/edit'] = array(
+      'title' => 'Edit',
+      'load arguments' => array($this->entityType),
+      'type' => MENU_DEFAULT_LOCAL_TASK,
+    );
+
     return $items;
   }
   
@@ -158,7 +165,14 @@ function entity_boxes_form_alter (&$form, &$form_state, $form_id) {
     return;
   }
 
-  $entity_boxes = $form_state['entity_boxes'];
+  if (isset($form_state['entity_boxes'])) {
+    $entity_boxes = $form_state['entity_boxes'];
+  }
+  else {
+    $entity_boxes = new BoxEntity(array('type' => $form_state['build_info']['args'][0]));
+    $form_state['entity_boxes'] = $entity_boxes;
+  }
+
   //figure out which part of the form to attach the fields to
   if ($form_id == 'boxes_add_form' || $form_id == 'boxes_box_form') {
     $portion = &$form['options'];
