diff --git a/rpc/api.go b/rpc/api.go
index ff2ae6c34072a73c9724152d24557e365fd121d0..15a9f8b1f503d177f47e205f3b4a41c50f4e44df 100644
--- a/rpc/api.go
+++ b/rpc/api.go
@@ -175,16 +175,6 @@ func (p *EthereumApi) GetStorageAt(args *GetStorageAtArgs, reply *interface{}) e
 	return nil
 }
 
-func (p *EthereumApi) NewWhisperFilter(args *WhisperFilterArgs, reply *interface{}) error {
-	opts := new(xeth.Options)
-	opts.From = args.From
-	opts.To = args.To
-	opts.Topics = args.Topics
-	id := p.xeth().NewWhisperFilter(opts)
-	*reply = common.ToHex(big.NewInt(int64(id)).Bytes())
-	return nil
-}
-
 func (p *EthereumApi) UninstallWhisperFilter(id int, reply *interface{}) error {
 	*reply = p.xeth().UninstallWhisperFilter(id)
 	return nil
@@ -550,7 +540,12 @@ func (p *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) error
 		if err := json.Unmarshal(req.Params, &args); err != nil {
 			return err
 		}
-		return p.NewWhisperFilter(args, reply)
+		opts := new(xeth.Options)
+		opts.From = args.From
+		opts.To = args.To
+		opts.Topics = args.Topics
+		id := p.xeth().NewWhisperFilter(opts)
+		*reply = common.ToHex(big.NewInt(int64(id)).Bytes())
 	case "shh_uninstallFilter":
 		args := new(FilterIdArgs)
 		if err := json.Unmarshal(req.Params, &args); err != nil {