diff --git a/CHANGELOG.md b/CHANGELOG.md
index 27776db2bc8758cb5540bcdb608303c9735fe4cb..002c46c05626252711712a5faa4829835add4527 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,7 @@
 # Version 1.111 (not yet released)
 
+* Fix for issue #143 error during CiviCRM upgrade. Make sure you update data processor extension before you upgrade CiviCRM.
+
 # Version 1.110
 
 * Added configuration for search outputs to limit and sort the task list.
diff --git a/Civi/DataProcessor/Output/UIOutputHelper.php b/Civi/DataProcessor/Output/UIOutputHelper.php
index d3e5d3cccaf791b4a66299f8439f78bb653d35c6..723519807ab07915d27e78ceb06ea02af09a0e5a 100644
--- a/Civi/DataProcessor/Output/UIOutputHelper.php
+++ b/Civi/DataProcessor/Output/UIOutputHelper.php
@@ -82,6 +82,11 @@ class UIOutputHelper {
   public static function buildNavigationMenuItems(): array {
     $menu = [];
     $factory = dataprocessor_get_factory();
+    if (!$factory) {
+      // The container is not initialized (yet).
+      // So we cannot load the outputs and create navigation menu items.
+      return $menu;
+    }
     $dao = \CRM_Core_DAO::executeQuery("
       SELECT DISTINCT o.id as output_id, o.type, p.id as dataprocessor_id
       FROM civicrm_data_processor_output o