diff --git a/metatag.install b/metatag.install
index d64c308..6030ece 100644
--- a/metatag.install
+++ b/metatag.install
@@ -238,6 +238,10 @@ function metatag_uninstall() {
 
   // Temp variables, just in case they weren't removed already.
   variable_del('metatag_skip_update_7017');
+
+  // Used to note that the schema for the main {metatag} table were sufficiently
+  // updated.
+  variable_del('metatag_has_revision_id');
 }
 
 /**
@@ -952,6 +956,10 @@ function metatag_update_7014() {
  */
 function metatag_update_7015() {
   if (!db_field_exists('metatag', 'revision_id')) {
+    // Leave a note for metatag_metatags_load_multiple() that the revision_id
+    // field has been added.
+    variable_set('metatag_has_revision_id', TRUE);
+
     // Tell update 7017 that it isn't needed.
     variable_set('metatag_skip_update_7017', TRUE);
 
diff --git a/metatag.module b/metatag.module
index 0c5b2cb..f284846 100644
--- a/metatag.module
+++ b/metatag.module
@@ -370,6 +370,18 @@ function metatag_metatags_load_multiple($entity_type, array $entity_ids, array $
     }
   }
 
+  // Verify that the metatag.revision_id field has been added to the {metatag}
+  // table schema.
+  if (!variable_get('metatag_has_revision_id', FALSE)) {
+    if (db_field_exists('metatag', 'revision_id')) {
+      variable_set('metatag_has_revision_id', TRUE);
+    }
+    else {
+      watchdog('metatag', 'The database updates need to be ran.', array(), WATCHDOG_WARNING);
+      return array();
+    }
+  }
+
   // Get all translations of tag data for this entity.
   $query = db_select('metatag', 'm')
     ->fields('m', array('entity_id', 'revision_id', 'language', 'data'))
