diff --git a/export/taxonomy_csv.export.admin.inc b/export/taxonomy_csv.export.admin.inc
index 2bf11b6..57f1397 100644
--- a/export/taxonomy_csv.export.admin.inc
+++ b/export/taxonomy_csv.export.admin.inc
@@ -400,6 +400,12 @@ function _taxonomy_csv_export_check_options(&$options) {
     $messages['vocabulary_id'] = t('No vocabulary to export.');
   }
   elseif ($options['vocabulary_id']) {
+    // Replace machine name with vocabulary id
+    if (!is_numeric($options['vocabulary_id'])) {
+       $vocabulary = taxonomy_vocabulary_machine_name_load($options['vocabulary_id']);
+       $options['vocabulary_id'] = $vocabulary->vid;
+    }
+
     if (!isset($list_vocabularies[$options['vocabulary_id']])) {
       $messages['vocabulary_id'] = t("You choose to export a vocabulary, but it doesn't exist.");
     }
diff --git a/import/taxonomy_csv.import.admin.inc b/import/taxonomy_csv.import.admin.inc
index 71af4a1..b833a04 100644
--- a/import/taxonomy_csv.import.admin.inc
+++ b/import/taxonomy_csv.import.admin.inc
@@ -1091,6 +1091,12 @@ function _taxonomy_csv_import_check_options(&$options) {
   // Clean locale if any.
   $options['locale_custom'] = trim($options['locale_custom']);
 
+  // Replace machine name with vocabulary id
+  if (!is_numeric($options['vocabulary_id'])) {
+     $vocabulary = taxonomy_vocabulary_machine_name_load($options['vocabulary_id']);
+     $options['vocabulary_id'] = $vocabulary->vid;
+  }
+
   // Calculates number of lines to be imported.
   if (!isset($options['file'])
       || !is_object($options['file'])
diff --git a/taxonomy_csv.drush.inc b/taxonomy_csv.drush.inc
index d592d64..35dcbb3 100644
--- a/taxonomy_csv.drush.inc
+++ b/taxonomy_csv.drush.inc
@@ -172,10 +172,11 @@ function drush_taxonomy_csv_import($file_path, $import_format = 'alone_terms') {
   $messages = taxonomy_csv_import($options);
 
   // Last check: unknow options.
-  $other_options = array_diff(array_keys(drush_get_merged_options()), array_keys($options));
-  if ($other_options) {
-    $messages[] = 'Unknown options:' . ' ' . implode(', ', $other_options) . '.';
-  }
+  // @todo: the check is buggy, since results in "Unknown options: drush-make-update-default-url, php"
+//  $other_options = array_diff(array_keys(drush_get_merged_options()), array_keys($options));
+//  if ($other_options) {
+//    $messages[] = 'Unknown options:' . ' ' . implode(', ', $other_options) . '.';
+//  }
 
   if (count($messages)) {
     foreach ($messages as $message) {
@@ -272,10 +273,11 @@ function drush_taxonomy_csv_export($vocabulary_id, $export_format = 'alone_terms
   }
 
   // Last check: unknow options.
-  $other_options = array_diff(array_keys(drush_get_merged_options()), array_keys($options));
-  if ($other_options) {
-    $messages[] = 'Unknown options:' . ' ' . implode(', ', $other_options) . '.';
-  }
+  // @todo: the check is buggy, since results in "Unknown options: drush-make-update-default-url, php"
+//  $other_options = array_diff(array_keys(drush_get_merged_options()), array_keys($options));
+//  if ($other_options) {
+//    $messages[] = 'Unknown options:' . ' ' . implode(', ', $other_options) . '.';
+//  }
 
   if (count($messages)) {
     foreach ($messages as $message) {
