diff --git a/Makefile b/Makefile
index 601efe43..9de3e463 100755
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
 APP=pybitmessage
-VERSION=0.3.3
+VERSION=0.3.3-2
 DEST_SHARE=$(DESTDIR)/usr/share
 DEST_APP=$(DEST_SHARE)/$(APP)
 
diff --git a/debian.sh b/debian.sh
index a26398e3..42817522 100755
--- a/debian.sh
+++ b/debian.sh
@@ -8,7 +8,7 @@
 
 APP=pybitmessage
 PREV_VERSION=0.3.2
-VERSION=0.3.3
+VERSION=0.3.3-2
 ARCH_TYPE=all
 
 #update version numbers automatically - so you don't have to
diff --git a/src/bitmessagemain.py b/src/bitmessagemain.py
index 4f612904..e618b4bd 100755
--- a/src/bitmessagemain.py
+++ b/src/bitmessagemain.py
@@ -1343,10 +1343,12 @@ class receiveDataThread(threading.Thread):
             readPosition += specifiedNonceTrialsPerByteLength
             specifiedPayloadLengthExtraBytes, specifiedPayloadLengthExtraBytesLength = decodeVarint(data[readPosition:readPosition+10])
             readPosition += specifiedPayloadLengthExtraBytesLength
+            endOfSignedDataPosition = readPosition
             signatureLength, signatureLengthLength = decodeVarint(data[readPosition:readPosition+10])
-            signature = data[readPosition:readPosition+signatureLengthLength]
+            readPosition += signatureLengthLength
+            signature = data[readPosition:readPosition+signatureLength]
             try:
-                if not highlevelcrypto.verify(data[8:readPosition],signature,publicSigningKey.encode('hex')):
+                if not highlevelcrypto.verify(data[8:endOfSignedDataPosition],signature,publicSigningKey.encode('hex')):
                     print 'ECDSA verify failed (within processpubkey)'
                     return
                 print 'ECDSA verify passed (within processpubkey)'
@@ -2918,8 +2920,7 @@ class singleWorker(threading.Thread):
                 dataToEncrypt += '\x02' #message encoding type
                 dataToEncrypt += encodeVarint(len('Subject:' + subject + '\n' + 'Body:' + body))  #Type 2 is simple UTF-8 message encoding.
                 dataToEncrypt += 'Subject:' + subject + '\n' + 'Body:' + body
-
-                signature = highlevelcrypto.sign(payload,privSigningKeyHex)
+                signature = highlevelcrypto.sign(dataToEncrypt,privSigningKeyHex)
                 dataToEncrypt += encodeVarint(len(signature))
                 dataToEncrypt += signature
                 privEncryptionKey = hashlib.sha512(encodeVarint(addressVersionNumber)+encodeVarint(streamNumber)+ripe).digest()[:32]
diff --git a/src/shared.py b/src/shared.py
index acc8b3a2..fbf48b01 100644
--- a/src/shared.py
+++ b/src/shared.py
@@ -1,4 +1,4 @@
-softwareVersion = '0.3.3'
+softwareVersion = '0.3.3-2'
 
 import threading
 import sys