chunk_file(input_file=args.input_file, output_file=args.output,
                    from_pos=args.from_pos, to_pos=args.to_pos)
     else:
-        split_file(separator=bytes(args.separator, 'UTF-8'), prefix=args.prefix,
-                   input_file=args.input_file)
+        split_file(separator=args.separator.encode('UTF-8', errors="surrogateescape"),
+                   prefix=args.prefix, input_file=args.input_file)
 
     volume_path = "%s.%d" % (base_name, volume_number)
     tarobj.open_volume(volume_path)
 
+def closing_new_volume_handler(tarobj, base_name, volume_number):
+    '''
+    Handles the new volumes
+    '''
+    volume_path = "%s.%d" % (base_name, volume_number)
+    tarobj.fileobj.close()
+    tarobj.open_volume(volume_path)
+
 class BaseTest(unittest.TestCase):
     """
     Test concatenated compression in tarfiles
 
                 break
             elif began_list:
                 crc = binascii.crc32(l, crc) & 0xffffffff
+        f.close()
 
 
     def test_restore_multivol(self):
         member.name = deltatar.unprefixed(member.name)
         tarobj.extract(member)
         tarobj.close()
+        fo.close()
         assert self.hash['source_dir2/huge'] == self.md5sum('huge')
 
         os.unlink("huge")
 
 import os, unittest, hashlib, string
 
 from deltatar.tarfile import TarFile, PAX_FORMAT, GNU_FORMAT, BLOCKSIZE
-from . import BaseTest, new_volume_handler
+from . import BaseTest, new_volume_handler, closing_new_volume_handler
 
 class MultivolGnuFormatTest(BaseTest):
     """
                               mode="w",
                               format=self.tarfile_format,
                               max_volume_size=2*1024*1024,
-                              new_volume_handler=new_volume_handler)
+                              new_volume_handler=closing_new_volume_handler)
         tarobj.add("big")
         tarobj.close()
 
             volume_path = "%s.%d" % (base_name, volume_number)
 
             try:
+                tarobj.fileobj.close()
                 tarobj.open_volume(volume_path)
             except IOError as e:
                 # only volume number 2 is missing