diff --git a/mobile/types.go b/mobile/types.go
index 7900e728703e5574a5e60baaf62d735076a45c40..02282f7a376d84212006495ff738cdb07cdc5803 100644
--- a/mobile/types.go
+++ b/mobile/types.go
@@ -264,8 +264,11 @@ func (tx *Transaction) GetHash() *Hash    { return &Hash{tx.tx.Hash()} }
 func (tx *Transaction) GetSigHash() *Hash { return &Hash{tx.tx.SigHash(types.HomesteadSigner{})} }
 func (tx *Transaction) GetCost() *BigInt  { return &BigInt{tx.tx.Cost()} }
 
-func (tx *Transaction) GetFrom() (address *Address, _ error) {
-	from, err := types.Sender(types.HomesteadSigner{}, tx.tx)
+func (tx *Transaction) GetFrom(chainID *BigInt) (address *Address, _ error) {
+	if chainID == nil { // Null passed from mobile app
+		chainID = new(BigInt)
+	}
+	from, err := types.Sender(types.NewEIP155Signer(chainID.bigint), tx.tx)
 	return &Address{from}, err
 }