diff --git a/les/handler.go b/les/handler.go
index d627c3e1845efa5cdd9af9690b6296cb0a76771e..57657e84f4657b593025c56b76e6360b5e7fa3f0 100644
--- a/les/handler.go
+++ b/les/handler.go
@@ -1014,7 +1014,7 @@ func (pm *ProtocolManager) handleMsg(p *peer) error {
 		for i, stat := range stats {
 			if stat.Status == core.TxStatusUnknown {
 				if errs := pm.txpool.AddRemotes([]*types.Transaction{req.Txs[i]}); errs[0] != nil {
-					stats[i].Error = errs[0]
+					stats[i].Error = errs[0].Error()
 					continue
 				}
 				stats[i] = pm.txStatus([]common.Hash{hashes[i]})[0]
@@ -1055,7 +1055,7 @@ func (pm *ProtocolManager) handleMsg(p *peer) error {
 		p.Log().Trace("Received tx status response")
 		var resp struct {
 			ReqID, BV uint64
-			Status    []core.TxStatus
+			Status    []txStatus
 		}
 		if err := msg.Decode(&resp); err != nil {
 			return errResp(ErrDecode, "msg %v: %v", msg, err)
diff --git a/les/handler_test.go b/les/handler_test.go
index 7d67af26a1e801c460177b195a27a239bdb39772..10e5499a33377e48d498a59e9e8223cd3507785c 100644
--- a/les/handler_test.go
+++ b/les/handler_test.go
@@ -444,7 +444,7 @@ func TestTransactionStatusLes2(t *testing.T) {
 
 	// test error status by sending an underpriced transaction
 	tx0, _ := types.SignTx(types.NewTransaction(0, acc1Addr, big.NewInt(10000), params.TxGas, nil, nil), signer, testBankKey)
-	test(tx0, true, txStatus{Status: core.TxStatusUnknown, Error: core.ErrUnderpriced})
+	test(tx0, true, txStatus{Status: core.TxStatusUnknown, Error: core.ErrUnderpriced.Error()})
 
 	tx1, _ := types.SignTx(types.NewTransaction(0, acc1Addr, big.NewInt(10000), params.TxGas, big.NewInt(100000000000), nil), signer, testBankKey)
 	test(tx1, false, txStatus{Status: core.TxStatusUnknown}) // query before sending, should be unknown
diff --git a/les/protocol.go b/les/protocol.go
index 6a7354d1c2ba56623907af79b94a056702d39cd5..e1c4625bcef796e9a55d03aad4fc67ad847f6113 100644
--- a/les/protocol.go
+++ b/les/protocol.go
@@ -224,6 +224,6 @@ type proofsData [][]rlp.RawValue
 
 type txStatus struct {
 	Status core.TxStatus
-	Lookup *core.TxLookupEntry
-	Error  error
+	Lookup *core.TxLookupEntry `rlp:"nil"`
+	Error  string
 }