diff --git a/convlab2/dst/rule/multiwoz/dst.py b/convlab2/dst/rule/multiwoz/dst.py
index 9575bbb9451d8294a745ebaf4e69084635f4aa26..025c4d7441b98a62c194d9ead223718491d7e529 100755
--- a/convlab2/dst/rule/multiwoz/dst.py
+++ b/convlab2/dst/rule/multiwoz/dst.py
@@ -56,7 +56,7 @@ class RuleDST(DST):
                     self.state['belief_state'][domain]['book'][k.lower()] = value
                 elif k == 'trainID' and domain == 'train':
                     self.state['belief_state'][domain]['book'][k] = normalize_value(self.value_dict, domain, k, value)
-                else:
+                elif k != 'none':
                     # raise Exception('unknown slot name <{}> of domain <{}>'.format(k, domain))
                     with open('unknown_slot.log', 'a+') as f:
                         f.write('unknown slot name <{}> of domain <{}>\n'.format(k, domain))
diff --git a/convlab2/dst/rule/multiwoz/dst_util.py b/convlab2/dst/rule/multiwoz/dst_util.py
index 560d8ca365374243801fcb91e0d102e671b41a93..0378b375e01bc1af41aa020362a8b201badb800d 100755
--- a/convlab2/dst/rule/multiwoz/dst_util.py
+++ b/convlab2/dst/rule/multiwoz/dst_util.py
@@ -77,11 +77,12 @@ def normalize_value(value_set, domain, slot, value):
     v = special_match(domain, slot, value)
     if v is not None:
         return v
-    _log(
-        'Failed: domain {} slot {} value {}, raw value returned.'.format(
-            domain,
-            slot,
-            value))
+    if v != 'dontcare':
+        _log(
+            'Failed: domain {} slot {} value {}, raw value returned.'.format(
+                domain,
+                slot,
+                value))
     return value