diff --git a/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Base_getImplicitPredecessorValueList.xml b/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Base_getImplicitPredecessorValueList.xml
index 55982598b6c08ff7a23c446491852e022b64d4a1..b491bf5e932bdacea577c33e394753e1efd50467 100644
--- a/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Base_getImplicitPredecessorValueList.xml
+++ b/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Base_getImplicitPredecessorValueList.xml
@@ -58,7 +58,8 @@ and make sure we get latest/most relevant version\n
 should be reimplemented in SQL some sunny day.\n
 """\n
 reference = context.getReference()\n
-if reference is None:\n
+if reference is None or not context.isSearchableReference():\n
+  # empty or not following format preference\n
   return ()\n
 \n
 return context.Base_zGetImplicitPredecessorValueList(reference=reference)\n
diff --git a/bt5/erp5_dms/bt/revision b/bt5/erp5_dms/bt/revision
index d3e6945eeb4ad9f9d50e40f56e8bf296a1eb75b7..a01282d290da2dac893fae4f9abfe13a76eab050 100644
--- a/bt5/erp5_dms/bt/revision
+++ b/bt5/erp5_dms/bt/revision
@@ -1 +1 @@
-1269
\ No newline at end of file
+1270
\ No newline at end of file
diff --git a/product/ERP5/Document/Document.py b/product/ERP5/Document/Document.py
index 3609d270a13b23eaa0bab4bc869c14217d2b96f2..58f64a1b3af058f88edd3335761f3fa27c2aeb17 100644
--- a/product/ERP5/Document/Document.py
+++ b/product/ERP5/Document/Document.py
@@ -317,6 +317,22 @@ class Document(DocumentExtensibleTraversableMixin, XMLObject, UrlMixin,
       preferences.
     """
     text = self.getSearchableText() # XXX getSearchableText or asText ?
+    return self._getSearchableReferenceList(text)
+
+  security.declareProtected(Permissions.AccessContentsInformation, 'getSearchableReferenceList')
+  def isSearchableReference(self):
+    """
+      Determine if current document's reference can be used for searching - i.e. follows
+      certain defined at system level preferences format.
+    """
+    reference = self.getReference()
+    return len(self._getSearchableReferenceList(reference))
+
+  def _getSearchableReferenceList(self, text):
+    """
+      Extract all reference alike strings from text using for that a 
+      regular expression defined at system level preferences.
+    """
     regexp = self.portal_preferences.getPreferredDocumentReferenceRegularExpression()
     try:
       rx_search = re.compile(regexp)
@@ -334,7 +350,7 @@ class Document(DocumentExtensibleTraversableMixin, XMLObject, UrlMixin,
       tmp[key] = None
     for group, group_item_tuple in tmp.keys():
       result.append((group, dict(group_item_tuple)))
-    return result
+    return result    
 
   security.declareProtected(Permissions.AccessContentsInformation, 'getImplicitSuccessorValueList')
   def getImplicitSuccessorValueList(self):