diff --git a/www/includes/common.inc b/www/includes/common.inc
index 27fa190..8208467 100644
--- a/www/includes/common.inc
+++ b/www/includes/common.inc
@@ -5270,8 +5270,15 @@ function drupal_cron_run() {
     $end = time() + (isset($info['time']) ? $info['time'] : 15);
     $queue = DrupalQueue::get($queue_name);
     while (time() < $end && ($item = $queue->claimItem())) {
-      $function($item->data);
-      $queue->deleteItem($item);
+      try {
+        $function($item->data);
+        $queue->deleteItem($item);
+      }
+      catch (Exception $e) {
+        // In case of exception log it and leave the item in the queue
+        // to be processed again later.
+        watchdog_exception('cron', $e);
+      }
     }
   }
   // Restore the user.
