diff --git a/test/crossrunner/report.py b/test/crossrunner/report.py
index 6ffc8e2..bcfe181 100644
--- a/test/crossrunner/report.py
+++ b/test/crossrunner/report.py
@@ -28,7 +28,8 @@
 import time
 import traceback
 
-from crossrunner.test import TestEntry
+from .compat import path_join, str_join
+from .test import TestEntry
 
 LOG_DIR = 'log'
 RESULT_HTML = 'result.html'
@@ -84,7 +85,7 @@
   @classmethod
   def test_logfile(cls, test_name, prog_kind, dir=None):
     relpath = os.path.join('log', '%s_%s.log' % (test_name, prog_kind))
-    return relpath if not dir else os.path.realpath(os.path.join(dir.decode(sys.getfilesystemencoding()), relpath.decode(sys.getfilesystemencoding())).encode(sys.getfilesystemencoding()))	
+    return relpath if not dir else os.path.realpath(path_join(dir, relpath))
 
   def _start(self):
     self._start_time = time.time()
@@ -194,13 +195,8 @@
     self.out.close()
 
   def _print_header(self):
-    tmp = list()
-    joined = ''
-    for item in self._prog.command:
-      tmp.append( item.decode(sys.getfilesystemencoding()))
-    joined = ' '.join(tmp).encode(sys.getfilesystemencoding())    
     self._print_date()
-    self.out.write('Executing: %s\n' % joined)
+    self.out.write('Executing: %s\n' % str_join(' ', self._prog.command))
     self.out.write('Directory: %s\n' % self._prog.workdir)
     self.out.write('config:delay: %s\n' % self._test.delay)
     self.out.write('config:timeout: %s\n' % self._test.timeout)
