diff --git a/views_megarow.admin.inc b/views_megarow.admin.inc
index bb15210..cde6676 100644
--- a/views_megarow.admin.inc
+++ b/views_megarow.admin.inc
@@ -33,6 +33,23 @@ function views_megarow_admin_settings_form($form, &$form_state) {
     '#options' => array(t('Disable'), t('Enable')),
     '#description' => t('Allows Views Megarow to override the path user/%user/edit.'),
   );
+
+  $all_entity_types = entity_get_info();
+
+  foreach ($all_entity_types as $type => $entity_info) {
+
+    if (isset($entity_info['module']) && $entity_info['module'] == 'eck') {
+      $form["views_megarow_override"]["views_megarow_override_{$type}_edit"] = array(
+        '#type' => 'radios',
+        '#title' => t('Override the :type edit form with Views Megarow', array(':type' => $type)),
+        '#default_value' => variable_get("views_megarow_override_{$type}_edit", 1),
+        '#options' => array(t('Disable'), t('Enable')),
+        '#description' => t('Allows Views Megarow to override the path user/%user/edit.'),
+      );
+    }
+
+  }
+
   $form['#submit'][] = 'views_megarow_settings_submit';
 
   return system_settings_form($form);
diff --git a/views_megarow.js b/views_megarow.js
index 9f68c8a..2121c67 100644
--- a/views_megarow.js
+++ b/views_megarow.js
@@ -233,6 +233,7 @@
     // Close the megarow of the calling element
     // (form submit button or close link).
     Drupal.ViewsMegarow.close(response.entity_id, ajax.element);
+    $('.item-' + response.entity_id).addClass('updated');
   }
 
   /**
diff --git a/views_megarow.module b/views_megarow.module
index 6fcb0e9..43657e4 100755
--- a/views_megarow.module
+++ b/views_megarow.module
@@ -430,6 +430,10 @@ function views_megarow_form_alter(&$form, &$form_state, $form_id) {
       $form['#submit'][] = 'views_megarow_autoclose_megarow';
     }
   }
+  else if(strstr($form_id, 'eck__entity__form') && $form['entity']['#value']->from_megarow == TRUE) {
+    // If the form is an eck form.
+    $form['#submit'][] = 'views_megarow_autoclose_megarow';
+  }
 }
 
 /**
@@ -448,6 +452,9 @@ function views_megarow_autoclose_megarow($form, &$form_state) {
     else if (isset($form_state['#entity_id'])) {
       $output = views_megarow_command_dismiss($form_state['#entity_id']);
     }
+    else if (isset($form['entity']['#value']->id)) {
+      $output = views_megarow_command_dismiss($form['entity']['#value']->id);
+    }
 
     // Turn off the light before leaving.
     print ajax_render(array($output));
@@ -470,6 +477,28 @@ function views_megarow_menu_alter(&$items) {
   if (variable_get('views_megarow_override_user_edit', TRUE)) {
     $items['user/%user/edit']['page callback'] = 'views_megarow_user_page_edit';
   }
+
+  // Go through all the eck entities and override their page callbacks.
+  $all_entity_types = entity_get_info();
+
+  foreach ($all_entity_types as $type => $entity_info) {
+
+    if (isset($entity_info['module']) && $entity_info['module'] == 'eck') {
+      $bundles = array_keys($entity_info['bundles']);
+
+      if(!empty($bundles) && variable_get("views_megarow_override_{$type}_edit", TRUE)) {
+
+        foreach ($bundles as $bundle_name) {
+
+          $items["{$type}/{$bundle_name}/%eckentity/edit"]["page callback"] = 'views_megarow_eck_page_edit';
+
+        }
+
+      }
+
+    }
+
+  }
 }
 
 /**
@@ -527,3 +556,26 @@ function views_megarow_user_page_edit($form_id, $user) {
     return drupal_get_form('user_profile_form', $user);
   }
 }
+
+/**
+ * Wrap the default eck form.
+ */
+function views_megarow_eck_page_edit($entity_type, $entity_bundle, $entity) {
+
+  // If the url executing the user edit menu item is from a megarow,
+  // let's hook into megarow form rendering instead of the classic
+  // output.
+  if (preg_match("`^display_megarow/[0-9]+/{$entity_type}/{$entity_bundle}/[0-9]+/edit$`", $_GET['q'])) {
+    // Add a flag for the user edition form.
+    $entity->from_megarow = TRUE;
+
+    $output = drupal_get_form("eck__entity__form_edit_{$entity_type}_{$entity_bundle}", $entity);
+    // Instead of return the form, pass it to views megarow to display it.
+    return views_megarow_display(t('Edit'), $output, $entity->id);
+  }
+  else {
+    // Otherwise fallback on the default behavior.
+    $entity->from_megarow = FALSE;
+    return drupal_get_form("eck__entity__form_edit_{$entity_type}_{$entity_bundle}", $entity);
+  }
+}
