diff -ruN a/turba/lib/Api.php b/turba/lib/Api.php
--- a/turba/lib/Api.php	2018-03-04 08:06:31.535041632 +0100
+++ b/turba/lib/Api.php	2018-03-04 08:12:24.713276259 +0100
@@ -637,6 +637,8 @@
      *                                  automatically adding contacts from an
      *                                  email application, such as IMP.
      *                                  @since 4.2.9
+     *     - delete_previous: (boolean) If true, will delete all previous entries
+     *                                  in the selected source.
      *
      * @return string  The new UID.
      *
@@ -673,6 +675,9 @@
             ->getInstance('Turba_Factory_Driver')
             ->create($source);
 
+        if (!empty($options['delete_previous'])) {
+            $driver->deleteAll();
+        }
         if (!$driver->hasPermission(Horde_Perms::EDIT)) {
             throw new Turba_Exception(_("Permission denied"));
         }
diff -ruN a/turba-import-vcards b/turba-import-vcards
--- a/turba-import-vcards	2018-03-04 08:10:40.432616368 +0100
+++ b/turba-import-vcards	2018-03-04 08:13:11.545572639 +0100
@@ -21,6 +21,8 @@
         ->get('horde_dir', null, 'pear.horde.org') . '/turba/';
 }
 require_once $baseDir . 'lib/Application.php';
+Horde_Registry::appInit('horde', array('cli' => true));
+Horde_Registry::appInit('imp', array('cli' => true));
 Horde_Registry::appInit('turba', array('cli' => true));
 
 // Read command line parameters.
@@ -41,7 +43,7 @@
 }
 
 // Import data.
-$result = $registry->call('contacts/import', array($vcard, 'text/x-vcard', $source));
+$result = $registry->call('contacts/import', array($vcard, 'text/x-vcard', $source, array('delete_previous' => true)));
 
 $cli->message('Imported successfully ' . count($result) . ' contacts', 'cli.success');