diff --git a/l10n_community/import.inc b/l10n_community/import.inc
index 6924029..0c60019 100644
--- a/l10n_community/import.inc
+++ b/l10n_community/import.inc
@@ -183,7 +183,7 @@ function _l10n_community_import_one_string($value, $langcode = NULL, $is_suggest
       $value['msgstr'] = is_array($value['msgstr']) ? join("\0", $value['msgstr']) : $value['msgstr'];
 
       // Add this as a suggestion first.
-      $tid = l10n_community_add_suggestion($sid, $value['msgstr'], $langcode, $uid, $user->uid, L10N_SERVER_MEDIUM_IMPORT);
+      $tid = l10n_community_add_suggestion($sid, $value['msgstr'], $langcode, $uid, $user->uid, L10N_SERVER_MEDIUM_IMPORT, !$is_suggestion);
 
       if ($tid) {
         if ($is_suggestion) {
diff --git a/l10n_community/l10n_community.module b/l10n_community/l10n_community.module
index efbc050..6936f40 100644
--- a/l10n_community/l10n_community.module
+++ b/l10n_community/l10n_community.module
@@ -990,8 +990,10 @@ function l10n_community_ajax_releases($form, $form_state) {
  *   User ID to use to keep history of.
  * @param $medium
  *   Medium type constant L10N_SERVER_MEDIUM_*
+ * @param $force
+ *   Force replacing a suggestion if it already exists.
  */
-function l10n_community_add_suggestion($sid, $translation, $langcode, $uid_attribution, $uid_user, $medium) {
+function l10n_community_add_suggestion($sid, $translation, $langcode, $uid_attribution, $uid_user, $medium, $force = FALSE) {
 
   // Load source string and adjust translation whitespace based on source.
   $source_string = db_query('SELECT value FROM {l10n_server_string} WHERE sid = :sid', array(':sid' => $sid))->fetchField();
@@ -1015,7 +1017,7 @@ function l10n_community_add_suggestion($sid, $translation, $langcode, $uid_attri
     ->fetchObject();
 
   if (!empty($existing)) {
-    if ($existing->is_active == 0) {
+    if ($existing->is_active == 0 || ($existing->is_suggestion == 1 && $force)) {
       // If the existing item is not active, make it an active suggestion and clean up its possible previous approval information.
       db_update('l10n_server_translation')
         ->fields(array(
diff --git a/l10n_community/tests/l10n_community.test b/l10n_community/tests/l10n_community.test
index e1bc680..1d6c3d3 100644
--- a/l10n_community/tests/l10n_community.test
+++ b/l10n_community/tests/l10n_community.test
@@ -534,7 +534,7 @@ class L10nServerTestCase extends DrupalWebTestCase {
     // CHECK DUPLICATES
 
     // Importing the same file, we should only get duplicates (and ignored).
-    $this->importPO($filename, $this->u_moderator->uid);
+    $this->importPO($filename, $this->u_moderator->uid, 1);
     $this->assertRaw(t('@count duplicate translations not saved', array('@count' => 4)));
     $this->assertRaw(t('@count source strings not found; their translations were ignored', array('@count' => 2)));
 
@@ -604,8 +604,7 @@ class L10nServerTestCase extends DrupalWebTestCase {
 
     // Importing the same file, but ask to import as final translation.
     $this->importPO($filename, $this->u_moderator->uid, 0);
-    $this->assertRaw(t('@count translations added', array('@count' => 3)));
-    $this->assertRaw(t('1 duplicate translation not saved'));
+    $this->assertRaw(t('@count translations added', array('@count' => 4)));
     $this->assertRaw(t('@count source strings not found; their translations were ignored', array('@count' => 2)));
 
     // Should still have 3 strings with outstanding suggestions.
@@ -624,8 +623,7 @@ class L10nServerTestCase extends DrupalWebTestCase {
     db_delete('l10n_server_translation')->execute();
 
     $this->importPO($filename, $this->u_moderator->uid, 0);
-    $this->assertRaw(t('@count translations added', array('@count' => 3)));
-    $this->assertRaw(t('1 duplicate translation not saved'));
+    $this->assertRaw(t('@count translations added', array('@count' => 4)));
     $this->assertRaw(t('@count source strings not found; their translations were ignored', array('@count' => 2)));
 
     // No string should have suggestions submitted at this point.
@@ -641,6 +639,7 @@ class L10nServerTestCase extends DrupalWebTestCase {
 
   /**
    * Import specified file to the given language.
+   * By default, string are imported as suggestions.
    */
   function importPO($filename, $import_uid, $is_suggestion = NULL, $assert = TRUE) {
     $edit = array();
