def _new_aes_block(self, set_last_block_offset=False):
+        # this basically checks if it comes from new_compression_block() call,
+        # in which case we have to call to close
+        if self.comptype == "tar":
+            self.close(close_fileobj=False)
+            self.closed = False
         self.__write_to_file(self.encryption.close_enc())
+
         if set_last_block_offset:
             self.last_block_offset = self.fileobj.tell()
         self.encryption = aescrypto.AESCrypt(self.password,
                 # it to look positive on all boxes.
                 chunk += struct.pack("<L", self.crc & 0xffffffffL)
                 chunk += struct.pack("<L", self.concat_pos & 0xffffFFFFL)
-
             self.__enc_write(chunk)
 
         if close_fileobj and not self._extfileobj:
 
             return self.__split_enc_file(buf, last)
         else:
-            return self.fileobj.read(size)
+            buf = self.fileobj.read(size)
+            return buf
 
     def __split_enc_file(self, buf, last):
         if not buf:
 
     DeltaTarStreamTest, DeltaTarGzipTest, DeltaTarGzipStreamTest,
     DeltaTarGzipConcatTest, DeltaTarGzipAes128ConcatTest,
     DeltaTarGzipAes256ConcatTest,
-    #DeltaTarAes128ConcatTest, DeltaTarAes256ConcatTest
+    DeltaTarAes128ConcatTest, DeltaTarAes256ConcatTest
     )
 
 if __name__ == "__main__":