diff --git a/core/trunk/core/class/class_security.php b/core/trunk/core/class/class_security.php
index 16f58eed691605d38476ec534b727227070881bd..440bdc591146bd5357d031c28fdd7fe87b071505 100644
--- a/core/trunk/core/class/class_security.php
+++ b/core/trunk/core/class/class_security.php
@@ -399,13 +399,32 @@ class security extends dbquery
     public function retrieve_coll_id_from_table($table)
     {
         for ($i=0;$i<count($_SESSION['collections']);$i++) {
-            if ($_SESSION['collections'][$i]['table'] == $table) {
+            if (
+                $_SESSION['collections'][$i]['table'] == $table
+                || $_SESSION['collections'][$i]['version_table'] == $table
+            ) {
                 return $_SESSION['collections'][$i]['id'];
             }
         }
         return '';
     }
     
+    /**
+    * Returns the collection version table from a collId
+    *
+    * @param  $collId string collection ID
+    * @return string version table or empty string if not found
+    */
+    public function retrieve_version_table_from_coll_id($collId)
+    {
+        for ($i=0;$i<count($_SESSION['collections']);$i++) {
+            if ($_SESSION['collections'][$i]['id'] == $collId) {
+                return $_SESSION['collections'][$i]['version_table'];
+            }
+        }
+        return '';
+    }
+    
     /**
     * Returns the adr table from a table
     *
diff --git a/core/trunk/structure.sql b/core/trunk/structure.sql
index 984b74118982833aec9b1fb839e241717eb58c6c..0ddfd770036d6631bbb23dd757927c8b7f13f58c 100644
--- a/core/trunk/structure.sql
+++ b/core/trunk/structure.sql
@@ -1405,6 +1405,7 @@ CREATE TABLE templates
   template_comment character varying(255) DEFAULT NULL::character varying,
   template_content text,
   template_type character varying(32) NOT NULL DEFAULT 'HTML'::character varying,
+  template_file_name character varying(255),
   template_style character varying(255),
   CONSTRAINT templates_pkey PRIMARY KEY (template_id)
 )