diff --git a/packages/binary/valuetransfer/address/signaturescheme/bls.go b/packages/binary/valuetransfer/address/signaturescheme/bls.go
index 5f77819e79a96eef89f45b673344fd1b64be566e..8ff3a296209c9e4eb7da2db0c7bc5e9abc88cd3c 100644
--- a/packages/binary/valuetransfer/address/signaturescheme/bls.go
+++ b/packages/binary/valuetransfer/address/signaturescheme/bls.go
@@ -122,6 +122,7 @@ func BLSSignatureFromBytes(data []byte) (result *blsSignature, err error, consum
 	}
 	if data[0] != address.VERSION_BLS {
 		err = fmt.Errorf("wrong version byte, expected %d", address.VERSION_BLS)
+		return
 	}
 	result = &blsSignature{}
 	copy(result[:BLS_FULL_SIGNATURE_SIZE], data)