diff --git a/create_and_translate.module b/create_and_translate.module
index f4ad1be..dc4ced2 100644
--- a/create_and_translate.module
+++ b/create_and_translate.module
@@ -25,7 +25,7 @@ function create_and_translate_help($path, $arg) {
 function create_and_translate_form_node_form_alter(&$form, &$form_state) {
   if (arg(0) == 'node' && arg(1) == 'add') {
     if (translation_supported_type($form['#bundle'])
-      && variable_get('create_and_translate_enabled_' . $form['type']['#value']) == 1
+      && variable_get('create_and_translate_enabled_' . $form['type']['#value'], 1) == 1
       && user_access('translate content')
     ) {
       $form['actions']['submit']['#submit'][] = 'create_and_translate_submit';
@@ -42,6 +42,29 @@ function create_and_translate_form_node_form_alter(&$form, &$form_state) {
           ':input[name="language"]' => array('value' => LANGUAGE_NONE),
         ),
       );
+    } else if (module_exists('entity_translation') && user_access('translate content')) {
+      $entity_type = arg(0);
+      $bundle = '';
+      if (isset($form['#bundle'])) {
+        $bundle = $form['#bundle'];
+      }
+      if (entity_translation_enabled_bundle($entity_type, $bundle)
+          && variable_get('create_and_translate_enabled_' . $bundle, 1)) {
+        $form['actions']['submit']['#submit'][] = 'create_and_translate_submit';
+        $form['actions']['create_and_translate'] = $form['actions']['submit'];
+        if (isset($form_state['build_info']['args'][0]->translation_source)) {
+          $form['actions']['create_and_translate']['#value'] = t('Create and add more translations');
+        }
+        else {
+          $form['actions']['create_and_translate']['#value'] = t('Create and translate');
+        }
+        $form['actions']['create_and_translate']['#submit'][] = 'create_and_translate_submit';
+        $form['actions']['create_and_translate']['#states'] = array(
+          'invisible' => array(
+            ':input[name="language"]' => array('value' => LANGUAGE_NONE),
+          ),
+        );
+      }
     }
   }
 }
@@ -50,15 +73,27 @@ function create_and_translate_form_node_form_alter(&$form, &$form_state) {
  * Implements hook_form_FORM_ID_alter() for node_type_form().
  */
 function create_and_translate_form_node_type_form_alter(&$form, &$form_state) {
+  $entity_translation_enabled = FALSE;
+  $bundle = $form['#node_type']->type;
+  if (module_exists('entity_translation') && user_access('translate content')) {
+    if (entity_translation_enabled_bundle('node', $bundle)) {
+      $entity_translation_enabled = TRUE;
+    }
+  }
+  $language_content_type = TRANSLATION_ENABLED;
+  if ($entity_translation_enabled) {
+    $language_content_type = 4;
+  }
+
   $form['workflow']['create_and_translate_enabled'] = array(
     '#type' => 'radios',
     '#title' => t('Enable create and translate'),
     '#description' => t('Enable create and translate for this content type?'),
     '#options' => array(t('No'), t('Yes')),
-    '#default_value' => variable_get('create_and_translate_enabled_' . $form['#node_type']->type, 0),
+    '#default_value' => variable_get('create_and_translate_enabled_' . $bundle, 1),
     '#states' => array(
       'visible' => array(
-        ':input[name="language_content_type"]' => array('value' => TRANSLATION_ENABLED),
+        ':input[name="language_content_type"]' => array('value' => $language_content_type),
       ),
     ),
     '#weight' => 99,
@@ -70,7 +105,26 @@ function create_and_translate_form_node_type_form_alter(&$form, &$form_state) {
  * Submit callback to set the redirect.
  */
 function create_and_translate_submit(&$form, &$form_state) {
-  if ($form_state['triggering_element']['#id'] == 'edit-create-and-translate') {
+  $entity_translation_mode = FALSE;
+  if (module_exists('entity_translation') && user_access('translate content')) {
+    $entity_type = arg(0);
+    $bundle = '';
+    if (isset($form['#bundle'])) {
+      $bundle = $form['#bundle'];
+    }
+    if (entity_translation_enabled_bundle($entity_type, $bundle)) {
+      $entity_translation_mode = TRUE;
+      if (isset($form_state['build_info']['args'][0]->translation_source)) {
+        $parent = $form_state['build_info']['args'][0]->translation_source->nid;
+      }
+      else {
+        $parent = $form_state['build_info']['args'][0]->nid;
+      }
+      $form_state['redirect'] = 'node/' . $parent . '/translate';
+    }
+  }
+
+  if (!$entity_translation_mode && $form_state['triggering_element']['#id'] == 'edit-create-and-translate') {
     if (isset($form_state['build_info']['args'][0]->translation_source)) {
       $parent = $form_state['build_info']['args'][0]->translation_source->nid;
     }
