diff --git a/includes/translation.handler.inc b/includes/translation.handler.inc
index 41ff6f9..7bf195d 100644
--- a/includes/translation.handler.inc
+++ b/includes/translation.handler.inc
@@ -1019,13 +1019,16 @@ class EntityTranslationDefaultHandler implements EntityTranslationHandlerInterfa
         '#multilingual' => TRUE,
       );
 
+      // A new translation is enabled by default.
       $status = $new_translation || $translations->data[$form_langcode]['status'];
-      $enabled = !$status;
       // If there is only one published translation we cannot unpublish it,
       // since there would be no content left to display. The whole entity
       // should be unpublished instead, where possible.
+      $enabled = !$status;
       if (!empty($status)) {
-        $published = 0;
+        // A new translation is not available in the translation data hence it
+        // should count as one more.
+        $published = $new_translation;
         foreach ($translations->data as $langcode => $translation) {
           $published += $translation['status'];
         }
diff --git a/includes/translation.handler.node.inc b/includes/translation.handler.node.inc
index b91bf09..98c2e37 100644
--- a/includes/translation.handler.node.inc
+++ b/includes/translation.handler.node.inc
@@ -78,7 +78,8 @@ class EntityTranslationNodeHandler extends EntityTranslationDefaultHandler {
    */
   public function entityFormSubmit($form, &$form_state) {
     if (!isset($form_state['values']['translation'])) {
-      $form_state['values']['translation'] = array('status' => $form_state['values']['status']);
+      // Always publish the original values when we have no translations.
+      $form_state['values']['translation'] = array('status' => TRUE);
     }
     $values = &$form_state['values']['translation'];
 
