diff --git a/core/modules/update/src/UpdateProcessor.php b/core/modules/update/src/UpdateProcessor.php
index 8d42dd53622abfc868e156a0b2d9f5962c83cdfd..7e1d87830eaa4ea2831592e543ddbde353e2a060 100644
--- a/core/modules/update/src/UpdateProcessor.php
+++ b/core/modules/update/src/UpdateProcessor.php
@@ -112,7 +112,7 @@ public function __construct(ConfigFactoryInterface $config_factory, QueueFactory
    * {@inheritdoc}
    */
   public function createFetchTask($project) {
-    if (empty($this->fetchTasks)) {
+    if (empty($this->fetchTasks) && $this->fetchQueue->numberOfItems()) {
       $this->fetchTasks = $this->fetchTaskStore->getAll();
     }
     if (empty($this->fetchTasks[$project['name']])) {
@@ -126,7 +126,7 @@ public function createFetchTask($project) {
    * {@inheritdoc}
    */
   public function fetchData() {
-    $end = time() + $this->updateSettings->get('fetch.timeout');
+    $end = time() + $this->updateSettings->get('fetch.timeout') ?? 30;
     if ($this->fetchQueue->numberOfItems()) {
       // Delete any stored project data as that needs refreshing when
       // update_calculate_project_data() is called.
diff --git a/core/modules/update/update.report.inc b/core/modules/update/update.report.inc
index 2c7a46b8e5ec6156b88745a80c9dfe762f2a7267..6621491469f83486d2b3ebf1b91ed741052a134e 100644
--- a/core/modules/update/update.report.inc
+++ b/core/modules/update/update.report.inc
@@ -42,6 +42,10 @@ function template_preprocess_update_report(&$variables) {
 
   $rows = [];
 
+  if (!is_array($data)) {
+    return;
+  }
+
   foreach ($data as $project) {
     $project_status = [
       '#theme' => 'update_project_status',
