diff --git a/src/common/connection_handlers_events.py b/src/common/connection_handlers_events.py
index 27fa590a2c0dc08075bfdbfe113661464550c927..ee133c33fd74dc16d0abac5b4d7f6e8cc4a0d37b 100644
--- a/src/common/connection_handlers_events.py
+++ b/src/common/connection_handlers_events.py
@@ -1981,11 +1981,9 @@ class FileRequestReceivedEvent(nec.NetworkIncomingEvent, HelperEvent):
                     self.FT_content.session.ourjid)
                 self.FT_content.transport.set_connection(
                     self.FT_content.session.connection)
-            sid = self.FT_content.transport.sid
+            sid = unicode(self.stanza.getTag('jingle').getAttr('sid'))
             self.file_props = FilesProp.getNewFileProp(self.conn.name, sid)
-            self.file_props.session_sid = unicode(
-                                self.stanza.getTag('jingle').getAttr('sid')
-                                                 )
+            self.file_props.transport_sid = self.FT_content.transport.sid
             self.FT_content.file_props = self.file_props
             self.FT_content.transport.set_file_props(self.file_props)
             if self.file_props.streamhosts:
diff --git a/src/common/file_props.py b/src/common/file_props.py
index 18402c6fc295f6f9103c0eaa7fb0c777714e172a..f6f5e4aa9d95b1371961a4b9d5f3d5fc9afc0f55 100644
--- a/src/common/file_props.py
+++ b/src/common/file_props.py
@@ -123,6 +123,7 @@ class FileProp(object):
         self.tt_account = None
         self.size = None
         self._sid = sid
+        self.transport_sid = None
         self.account = account
         self.mime_type = None
         self.algo = None
@@ -130,7 +131,6 @@ class FileProp(object):
         self.syn_id = None
         self.seq = None
         self.hash_ = None
-        self.session_sid = None
         self.fd = None
         self.startexmpp = None
         self.session_type = None
diff --git a/src/common/jingle_ft.py b/src/common/jingle_ft.py
index f9989c249628e94eaa4e2bd749a31d358f018e1a..0405a68eeaee9335e3ecbf79d8e0428b0fe9d0b0 100644
--- a/src/common/jingle_ft.py
+++ b/src/common/jingle_ft.py
@@ -76,8 +76,9 @@ class JingleFileTransfer(JingleContent):
             self.file_props.sender = session.ourjid
             self.file_props.receiver = session.peerjid
             self.file_props.session_type = 'jingle'
-            self.file_props.session_sid = session.sid
+            self.file_props.sid = session.sid
             self.file_props.transfered_size = []
+            self.file_props.transport_sid = self.transport.sid
         log.info("FT request: %s" % file_props)
         if transport is None:
             self.transport = JingleTransportSocks5()
diff --git a/src/common/jingle_transport.py b/src/common/jingle_transport.py
index 836e7975ec6f13097c23aa2fb47e6b0eb839c6eb..0328fca6a137b52a393682bb578408a9b8e47752 100644
--- a/src/common/jingle_transport.py
+++ b/src/common/jingle_transport.py
@@ -250,7 +250,7 @@ class JingleTransportSocks5(JingleTransport):
 
     def get_content(self):
         sesn = self.connection.get_jingle_session(self.ourjid,
-            self.file_props.session_sid)
+            self.file_props.sid)
         for content in sesn.contents.values():
             if content.transport == self:
                 return content
@@ -261,7 +261,7 @@ class JingleTransportSocks5(JingleTransport):
         if not self.connection:
             return
         sesn = self.connection.get_jingle_session(self.ourjid,
-            self.file_props.session_sid)
+            self.file_props.sid)
         if sesn is None:
             return
 
diff --git a/src/common/protocol/bytestream.py b/src/common/protocol/bytestream.py
index cc363c5be8dbbc570bd0249c4e015c5f7b40e983..13dddaa2013a5b8deb50597c23a2232fac9d721c 100644
--- a/src/common/protocol/bytestream.py
+++ b/src/common/protocol/bytestream.py
@@ -143,12 +143,12 @@ class ConnectionBytestream:
         log.info("send_file_approval: jingle session accept")
         if file_props.session_type == 'jingle':
             session = self.get_jingle_session(file_props.sender,
-                file_props.session_sid)
+                file_props.sid)
             if not session:
                 return
             content = None
             for c in session.contents.values():
-                if c.transport.sid == file_props.sid:
+                if c.transport.sid == file_props.transport_sid:
                     content = c
                     break
             if not content:
@@ -193,7 +193,7 @@ class ConnectionBytestream:
         if not self.connection or self.connected < 2:
             return
         if file_props.session_type == 'jingle':
-            jingle = self._sessions[file_props.session_sid]
+            jingle = self._sessions[file_props.sid]
             jingle.cancel_session()
             return
         iq = xmpp.Iq(to=unicode(file_props.sender), typ='error')
@@ -562,7 +562,7 @@ class ConnectionSocks5Bytestream(ConnectionBytestream):
         else:
             to = file_props.sender
         iq = xmpp.Iq(to=to,     typ='error')
-        iq.setAttr('id', file_props.session_sid)
+        iq.setAttr('id', file_props.sid)
         err = iq.setTag('error')
         err.setAttr('code', unicode(code))
         err.setData(msg)
diff --git a/src/filetransfers_window.py b/src/filetransfers_window.py
index dda49dfc4eb882285a1363cf4532ed2fe327868e..045851a92889627392dfeb43be5f7c840f2ceeb1 100644
--- a/src/filetransfers_window.py
+++ b/src/filetransfers_window.py
@@ -257,7 +257,7 @@ class FileTransfersWindow:
             sid = gajim.connections[account].start_file_transfer(fjid,
                                                             file_props,
                                                                 True)
-            file_props.sid = sid
+            file_props.transport_sid = sid
 
         if file_props.type_ == 'r':
             file_name = os.path.basename(file_props.file_name)
@@ -643,7 +643,8 @@ class FileTransfersWindow:
             self.model.set(iter_, 0, self.get_icon(status))
             if transfered_size == full_size:
                 # If we are receiver and this is a jingle session
-                if file_props.type_ == 'r' and  file_props.session_sid:
+                if file_props.type_ == 'r' and  \
+                        file_props.session_type == 'jingle':
                     # Show that we are computing the hash
                     self.set_status(file_props, 'computing')
                 else:
diff --git a/src/gui_interface.py b/src/gui_interface.py
index ab789615418eeae3d4ad0ca87609a2a697987034..5c6bc9809805859916fc6bdbc6f9270b0d43f441 100644
--- a/src/gui_interface.py
+++ b/src/gui_interface.py
@@ -941,7 +941,7 @@ class Interface:
 
     def __compare_hashes(self, account, file_props):
         session = gajim.connections[account].get_jingle_session(jid=None,
-            sid=file_props.session_sid)
+            sid=file_props.sid)
         ft_win = self.instances['file_transfers']
         if not file_props.hash_:
             # We disn't get the hash, sender probably don't support that
@@ -981,9 +981,8 @@ class Interface:
             return
 
         if file_props.type_ == 'r': # we receive a file
-            # If we have a jingle session id, it is a jingle transfer
             # we compare hashes
-            if file_props.session_sid:
+            if file_props.session_type == 'jingle':
                 # Compare hashes in a new thread
                 self.hashThread = Thread(target=self.__compare_hashes,
                     args=(account, file_props))