diff --git a/rpc/api.go b/rpc/api.go
index 57075bffc3dc923fb66566bc98219c2f92e358fa..6154a0b286bada30246f0a494486925869ffba89 100644
--- a/rpc/api.go
+++ b/rpc/api.go
@@ -161,7 +161,7 @@ func (self *EthereumApi) NewFilter(args *FilterOptions, reply *interface{}) erro
 	id = self.filterManager.InstallFilter(filter)
 	self.logs[id] = &logFilter{timeout: time.Now()}
 
-	*reply = i2hex(id)
+	*reply = common.ToHex(big.NewInt(int64(id)).Bytes())
 
 	return nil
 }
@@ -198,7 +198,7 @@ func (self *EthereumApi) NewFilterString(args *FilterStringArgs, reply *interfac
 
 	id = self.filterManager.InstallFilter(filter)
 	self.logs[id] = &logFilter{timeout: time.Now()}
-	*reply = i2hex(id)
+	*reply = common.ToHex(big.NewInt(int64(id)).Bytes())
 
 	return nil
 }
diff --git a/rpc/util.go b/rpc/util.go
index 230d0dcf1ff2cea5e965f08da74dd4c4e37c75f2..3e2792c075c554f3c7167b54fefcd783ed6f4085 100644
--- a/rpc/util.go
+++ b/rpc/util.go
@@ -19,7 +19,6 @@ package rpc
 import (
 	"encoding/json"
 	"fmt"
-	"math/big"
 	"reflect"
 	"time"
 
@@ -90,10 +89,6 @@ func UnmarshalRawMessages(b []byte, iface interface{}, number *int64) (err error
 	return nil
 }
 
-func i2hex(n int) string {
-	return common.ToHex(big.NewInt(int64(n)).Bytes())
-}
-
 type Log struct {
 	Address string   `json:"address"`
 	Topic   []string `json:"topic"`