diff --git a/panels.install b/panels.install
index ebb93e0..17c8e2b 100644
--- a/panels.install
+++ b/panels.install
@@ -437,6 +437,9 @@ function panels_update_7301() {
  * Adding universally unique identifiers to panels.
  */
 function panels_update_7302() {
+
+  _panels_update_add_storage_fields();
+
   if (!module_load_include('inc', 'ctools', 'includes/uuid')) {
     throw new DrupalUpdateException(t('Ctools UUID support not detected. You must update to a more recent version of the ctools module.'));
   }
@@ -543,17 +546,7 @@ function panels_update_7304() {
  * Add the "storage_type" and "storage_id" columns to "panels_display".
  */
 function panels_update_7305() {
-  $schema = panels_schema_8();
-
-  $new_fields = array(
-    'panels_display' => array('storage_type', 'storage_id'),
-  );
-
-  foreach ($new_fields as $table => $fields) {
-    foreach ($fields as $field_name) {
-      db_add_field($table, $field_name, $schema[$table]['fields'][$field_name]);
-    }
-  }
+  _panels_update_add_storage_fields();
 }
 
 /**
@@ -588,3 +581,22 @@ function panels_update_7306() {
     }
   }
 }
+
+/**
+ * Add storage type and ID fields, when upgrading from 3.3 to 3.6.
+ */
+function _panels_update_add_storage_fields() {
+  $schema = panels_schema_8();
+
+  $new_fields = array(
+    'panels_display' => array('storage_type', 'storage_id'),
+  );
+
+  foreach ($new_fields as $table => $fields) {
+    foreach ($fields as $field_name) {
+      if (!db_field_exists($table, $field_name)) {
+        db_add_field($table, $field_name, $schema[$table]['fields'][$field_name]);
+      }
+    }
+  }
+}
