diff --git a/Milter/test.py b/Milter/test.py
index 846752e2d08723290fc682193d4c55af22c6f8a7..55b27bffeeb416940598112dd0778ed0e0ce7474 100644
--- a/Milter/test.py
+++ b/Milter/test.py
@@ -63,7 +63,10 @@ class TestBase(object):
       syms = self._symlist[stage]
       if syms is not None and name not in syms:
         return None
-    return self._macros.get(name,None)
+    r = self._macros.get(name,None)
+    if r is not None:
+      return r.decode()
+    return r
 
   def replacebody(self,chunk):
     if self._body:
diff --git a/Milter/testctx.py b/Milter/testctx.py
index 6e79807a432a9248bc732f654a3e7dd1f12e4eea..64b20c946fbca4b317d7790ab1ca215541010b72 100644
--- a/Milter/testctx.py
+++ b/Milter/testctx.py
@@ -65,8 +65,11 @@ class TestCtx(object):
     if stage >= 0:
       syms = self._symlist[stage]
       if syms is not None and name not in syms:
-        return syms
-    return self._macros.get(name,'notfound')
+        return None
+    r = self._macros.get(name,None)
+    if r is not None:
+      return r.decode()
+    return r
 
   def _setsymval(self,name,val):
     self._macros[name] = val