diff --git a/media_derivatives.module b/media_derivatives.module
index aa69cd4..836b8d6 100644
--- a/media_derivatives.module
+++ b/media_derivatives.module
@@ -798,7 +798,8 @@ function media_derivatives_schedule_derivative($derivative) {
   else if ($action) {
     $derivative->scheduled_time = time();
     media_derivatives_save($derivative);
-    media_derivatives_start_encode($derivative);
+    if (module_exists('background_process')) $handle = background_process_start('media_derivatives_start_encode', $derivative);
+    else media_derivatives_start_encode($derivative);
   }
   
 }
