diff --git a/api/dao/hierarchy.py b/api/dao/hierarchy.py
index aece12c89fcacaa7faa217ad747437b0353638f2..d4913964c96edade99f81e8f7dde3d166ae6b310 100644
--- a/api/dao/hierarchy.py
+++ b/api/dao/hierarchy.py
@@ -131,7 +131,7 @@ def is_session_compliant(session, template):
             elif isinstance(cont_v, list):
                 found_in_list = False
                 for v in cont_v:
-                    if re.search(req_v, cont_v, re.IGNORECASE):
+                    if re.search(req_v, v, re.IGNORECASE):
                         found_in_list = True
                         break
                 if not found_in_list:
diff --git a/bin/database.py b/bin/database.py
index f50ae097855815901dd721f0468e1c42ec949775..fdbd14c49b3130e21763cfdb25a9a0bc33916a08 100755
--- a/bin/database.py
+++ b/bin/database.py
@@ -5,6 +5,7 @@ import copy
 import dateutil.parser
 import json
 import logging
+import re
 import sys
 
 from api import config
@@ -548,11 +549,13 @@ def upgrade_to_21():
             new_a = {'minimum': a['minimum']}
             properties = a['schema']['properties']
             if 'measurement' in properties:
-                m_req = properties.pop('measurement')
+                m_req = properties['measurement']['pattern']
+                m_req = re.sub('^\(\?i\)', '', m_req)
                 new_a['files']=[{'measurement':  m_req['pattern'], 'minimum': 1}]
             if 'label' in properties:
-                l_req = properties.pop('label')
-                new_a['label'] = l_req['pattern']
+                l_req = properties['label']['pattern']
+                l_req = re.sub('^\(\?i\)', '', m_req)
+                new_a['label'] = l_req
             new_template['acquisitions'].append(new_a)
 
         return new_template