diff --git a/modules/salesforce_push/salesforce_push.install b/modules/salesforce_push/salesforce_push.install
index 99aeff72c959b7148ce0d8878475d8f0124c168a..ea9c09d6b3ab8a2e4d6d71d3eb4f597b2572779b 100644
--- a/modules/salesforce_push/salesforce_push.install
+++ b/modules/salesforce_push/salesforce_push.install
@@ -67,7 +67,17 @@ function salesforce_push_update_8003() {
  * Updates schema for push queue.
  */
 function salesforce_push_update_8004() {
-  $schema_definition = \Drupal::service('queue.salesforce_push')->schemaDefinition();
-  // Adds the new fields to the table.
-  \Drupal::database()->schema()->addField('salesforce_push_queue', 'last_failure_message', $schema_definition['fields']['last_failure_message']);
+  $schema = \Drupal::database()->schema();
+  $table_name = 'salesforce_push_queue';
+
+  if (!$schema->tableExists($table_name)) {
+    return;
+  }
+
+  $schema->addField($table_name, 'last_failure_message', [
+    'type' => 'text',
+    'not null' => FALSE,
+    'default' => NULL,
+    'description' => 'The last failure message for this queue item, if failed.',
+  ]);
 }