diff --git a/runtime/internal/rpc/server.go b/runtime/internal/rpc/server.go
index eb226a4..6b8566a 100644
--- a/runtime/internal/rpc/server.go
+++ b/runtime/internal/rpc/server.go
@@ -818,7 +818,7 @@
 // unnecessarily reading all arguments.
 func (fs *flowServer) drainDecoderArgs(n int) error {
 	for i := 0; i < n; i++ {
-		if err := fs.dec.Ignore(); err != nil {
+		if err := fs.dec.Decoder().SkipValue(); err != nil {
 			return err
 		}
 	}
diff --git a/services/agent/internal/ipc/ipc.go b/services/agent/internal/ipc/ipc.go
index 295b0c9..34f8292 100644
--- a/services/agent/internal/ipc/ipc.go
+++ b/services/agent/internal/ipc/ipc.go
@@ -267,7 +267,7 @@
 	return func(n uint32, dec *vom.Decoder) (result []reflect.Value, err error) {
 		if n != uint32(numArgs) {
 			for i := uint32(0); i < n; i++ {
-				if err = dec.Ignore(); err != nil {
+				if err = dec.Decoder().SkipValue(); err != nil {
 					return nil, err
 				}
 			}
@@ -289,7 +289,7 @@
 
 func noDecoder(n uint32, dec *vom.Decoder) (result []reflect.Value, err error) {
 	for i := uint32(0); i < n; i++ {
-		if err = dec.Ignore(); err != nil {
+		if err = dec.Decoder().SkipValue(); err != nil {
 			return nil, err
 		}
 	}
@@ -445,7 +445,7 @@
 		info.done <- resp.Err
 	} else {
 		for i := uint32(0); i < resp.NumArgs; i++ {
-			c.dec.Ignore()
+			c.dec.Decoder().SkipValue()
 		}
 		err := resp.Err
 		if err == nil {
