diff --git a/feeds.module b/feeds.module
index 6ee2243ca17db0c0d74a55c23a576eca6ce7aada..f779e54c653d88c9bfb5b983f59432695df9715f 100644
--- a/feeds.module
+++ b/feeds.module
@@ -426,14 +426,7 @@ function feeds_batch_set($title, $method, $importer_id, $feed_nid = 0) {
 function feeds_batch($method, $importer_id, $feed_nid = 0, &$context) {
   $context['finished'] = 1;
   try {
-    switch ($method) {
-      case 'import':
-        $context['finished'] = feeds_source($importer_id, $feed_nid)->import();
-        break;
-      case 'clear':
-        $context['finished'] = feeds_source($importer_id, $feed_nid)->clear();
-        break;
-    }
+    $context['finished'] = feeds_source($importer_id, $feed_nid)->$method();
   }
   catch (Exception $e) {
     drupal_set_message($e->getMessage(), 'error');