diff --git a/packages/binary/valuetransfer/address/signaturescheme/bls.go b/packages/binary/valuetransfer/address/signaturescheme/bls.go
index a17fc758a24389e8a939284e1c7d59763a6c00ec..5810effb96ac2842d63212b0a7c3d8d8ff22e7cf 100644
--- a/packages/binary/valuetransfer/address/signaturescheme/bls.go
+++ b/packages/binary/valuetransfer/address/signaturescheme/bls.go
@@ -120,6 +120,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)