diff --git a/patches/patch20200426-3.0.0/versioning.sql b/patches/patch20200426-3.0.0/versioning.sql
index 3bfcc13fb4504a681ae90a9f18270e9897ace09d..a5bb0343a6a953b13f3c2a062d88c0b2024cade2 100644
--- a/patches/patch20200426-3.0.0/versioning.sql
+++ b/patches/patch20200426-3.0.0/versioning.sql
@@ -41,10 +41,9 @@ CREATE TABLE entity_version (
 ) ENGINE=InnoDB;
 
 ALTER TABLE reference_data
-    ADD COLUMN `value_iversion` INT UNSIGNED DEFAULT NULL;
--- TODO
---    ADD FOREIGN KEY (`value`, `value_iversion) REFERENCES
---        entity_version (`entity_id`, `_iversion`);
+    ADD COLUMN `value_iversion` INT UNSIGNED DEFAULT NULL,
+    ADD FOREIGN KEY (`value`, `value_iversion`) REFERENCES
+        entity_version (`entity_id`, `_iversion`);
 
 
 CREATE TABLE archive_isa (
diff --git a/tests/test_autotap.sql b/tests/test_autotap.sql
index 0c9a263546aa23ce5c012d8a35a5b6fbf2b38300..e23ef3bfd40f8f27b0f8ed920e7d7c0da5a1ac52 100644
--- a/tests/test_autotap.sql
+++ b/tests/test_autotap.sql
@@ -1647,7 +1647,7 @@ SELECT tap.col_charset_is('_caosdb_schema_unit_tests','reference_data','value_iv
 SELECT tap.col_collation_is('_caosdb_schema_unit_tests','reference_data','value_iversion',NULL,'');
 
 -- INDEXES
-SELECT tap.indexes_are('_caosdb_schema_unit_tests','reference_data','`entity_id`','');
+SELECT tap.indexes_are('_caosdb_schema_unit_tests','reference_data','`entity_id`,`value`','');
 
 -- INDEX reference_data.entity_id
 
@@ -1655,8 +1655,14 @@ SELECT tap.has_index('_caosdb_schema_unit_tests','reference_data','entity_id',''
 SELECT tap.index_is_type('_caosdb_schema_unit_tests','reference_data','entity_id','BTREE','');
 SELECT tap.is_indexed('_caosdb_schema_unit_tests','reference_data','`entity_id`,`property_id`','');
 
+-- INDEX reference_data.value
+
+SELECT tap.has_index('_caosdb_schema_unit_tests','reference_data','value','');
+SELECT tap.index_is_type('_caosdb_schema_unit_tests','reference_data','value','BTREE','');
+SELECT tap.is_indexed('_caosdb_schema_unit_tests','reference_data','`value`,`value_iversion`','');
+
 -- CONSTRAINTS
-SELECT tap.constraints_are('_caosdb_schema_unit_tests','reference_data','`ref_domain_id_entity`,`ref_entity_id_entity`,`ref_property_id_entity`,`ref_value_entity`','');
+SELECT tap.constraints_are('_caosdb_schema_unit_tests','reference_data','`ref_domain_id_entity`,`ref_entity_id_entity`,`ref_property_id_entity`,`ref_value_entity`,`reference_data_ibfk_1`','');
 
 -- CONSTRAINT reference_data.ref_domain_id_entity
 
@@ -1686,6 +1692,13 @@ SELECT tap.constraint_type_is('_caosdb_schema_unit_tests','reference_data','ref_
 SELECT tap.fk_on_delete('_caosdb_schema_unit_tests','reference_data','ref_value_entity','RESTRICT','');
 SELECT tap.fk_on_update('_caosdb_schema_unit_tests','reference_data','ref_value_entity','RESTRICT','');
 
+-- CONSTRAINT reference_data_ibfk_1
+SELECT tap.has_constraint('_caosdb_schema_unit_tests','reference_data','reference_data_ibfk_1','');
+SELECT tap.constraint_type_is('_caosdb_schema_unit_tests','reference_data','reference_data_ibfk_1','FOREIGN KEY','');
+SELECT tap.fk_on_delete('_caosdb_schema_unit_tests','reference_data','reference_data_ibfk_1','RESTRICT','');
+SELECT tap.fk_on_update('_caosdb_schema_unit_tests','reference_data','reference_data_ibfk_1','RESTRICT','');
+
+
 -- ***************************************************************
 -- TABLE _caosdb_schema_unit_tests.roles
 -- ***************************************************************