diff --git a/src/torrent-file.cpp b/src/torrent-file.cpp
index 4302b53..a9797fd 100644
--- a/src/torrent-file.cpp
+++ b/src/torrent-file.cpp
@@ -227,13 +227,12 @@
   this->constructLongNames();
 }
 
-const Block&
-TorrentFile::wireEncode()
+void
+TorrentFile::finalize()
 {
   this->createSuffixCatalog();
   this->encodeContent();
   m_suffixCatalog.clear();
-  return Data::wireEncode();
 }
 
 } // namespace ntorrent
diff --git a/src/torrent-file.hpp b/src/torrent-file.hpp
index 89d3173..ea095ac 100644
--- a/src/torrent-file.hpp
+++ b/src/torrent-file.hpp
@@ -111,10 +111,13 @@
   wireDecode(const Block& wire);
 
   /**
-   * @brief Encode from wire format
+   * @brief Finalize .torrent-file before signing the data packet
+   *
+   * This method has to be called (every time) right before signing or encoding
+   * the .torrent-file
    */
-  const Block&
-  wireEncode();
+  void
+  finalize();
 
   /**
    * @brief Insert a name to the catalog of file manifest names
diff --git a/tests/unit-tests/torrent-file.t.cpp b/tests/unit-tests/torrent-file.t.cpp
index 90b9b6d..abd224a 100644
--- a/tests/unit-tests/torrent-file.t.cpp
+++ b/tests/unit-tests/torrent-file.t.cpp
@@ -146,6 +146,7 @@
                    {"/NTORRENT/linux15.01/file0/1A2B3C4D",
                    "/NTORRENT/linux15.01/file1/2A3B4C5E"});
 
+  file.finalize();
   KeyChain keyChain;
   keyChain.sign(file);
 
@@ -169,6 +170,7 @@
                    {"/NTORRENT/linux15.01/file0/1A2B3C4D",
                    "/NTORRENT/linux15.01/file1/2A3B4C5E"});
 
+  file.finalize();
   KeyChain keyChain;
   keyChain.sign(file);
 
@@ -190,6 +192,7 @@
                   "",
                   {});
 
+  file.finalize();
   KeyChain keyChain;
   keyChain.sign(file);
 
@@ -209,6 +212,7 @@
                   "/NTORRENT/linux15.01",
                   {});
 
+  file.finalize();
   KeyChain keyChain;
   keyChain.sign(file);
 
@@ -260,6 +264,7 @@
                    {"/NTORRENT/linux15.01/file0/1A2B3C4D",
                    "/NTORRENT/linux15.01/file1/2A3B4C5E"});
 
+  file.finalize();
   KeyChain keyChain;
   keyChain.sign(file);
   Block wire = file.wireEncode();
@@ -270,6 +275,7 @@
 
   file.insert("/NTORRENT/linux15.01/file3/AB34C5KA");
   file.insert("/NTORRENT/linux15.01/file4/CB24C3GB");
+  file.finalize();
   Block wire2 = file.wireEncode();
 
   file2.wireDecode(wire2);
