diff --git a/pkg/morph/client/constructor.go b/pkg/morph/client/constructor.go
index 78cb3e82f..60b5b4b97 100644
--- a/pkg/morph/client/constructor.go
+++ b/pkg/morph/client/constructor.go
@@ -41,8 +41,6 @@ type cfg struct {
 
 	endpoints []Endpoint
 
-	singleCli *rpcclient.WSClient // neo-go client for single client mode
-
 	inactiveModeCb Callback
 
 	switchInterval time.Duration
@@ -124,40 +122,24 @@ func New(ctx context.Context, key *keys.PrivateKey, opts ...Option) (*Client, er
 
 	var err error
 	var act *actor.Actor
-	if cfg.singleCli != nil {
-		// return client in single RPC node mode that uses
-		// predefined WS client
-		//
-		// in case of the closing web socket connection:
-		// if extra endpoints were provided via options,
-		// they will be used in switch process, otherwise
-		// inactive mode will be enabled
-		cli.client = cfg.singleCli
-
-		act, err = newActor(cfg.singleCli, acc, *cfg)
+	var endpoint Endpoint
+	for cli.endpoints.curr, endpoint = range cli.endpoints.list {
+		cli.client, act, err = cli.newCli(ctx, endpoint)
 		if err != nil {
-			return nil, fmt.Errorf("could not create RPC actor: %w", err)
-		}
-	} else {
-		var endpoint Endpoint
-		for cli.endpoints.curr, endpoint = range cli.endpoints.list {
-			cli.client, act, err = cli.newCli(ctx, endpoint)
-			if err != nil {
-				cli.logger.Warn(logs.FrostFSIRCouldntCreateRPCClientForEndpoint,
-					zap.Error(err), zap.String("endpoint", endpoint.Address))
-			} else {
-				cli.logger.Info(logs.FrostFSIRCreatedRPCClientForEndpoint,
-					zap.String("endpoint", endpoint.Address))
-				if cli.endpoints.curr > 0 && cli.cfg.switchInterval != 0 {
-					cli.switchIsActive.Store(true)
-					go cli.switchToMostPrioritized(ctx)
-				}
-				break
+			cli.logger.Warn(logs.FrostFSIRCouldntCreateRPCClientForEndpoint,
+				zap.Error(err), zap.String("endpoint", endpoint.Address))
+		} else {
+			cli.logger.Info(logs.FrostFSIRCreatedRPCClientForEndpoint,
+				zap.String("endpoint", endpoint.Address))
+			if cli.endpoints.curr > 0 && cli.cfg.switchInterval != 0 {
+				cli.switchIsActive.Store(true)
+				go cli.switchToMostPrioritized(ctx)
 			}
+			break
 		}
-		if cli.client == nil {
-			return nil, ErrNoHealthyEndpoint
-		}
+	}
+	if cli.client == nil {
+		return nil, ErrNoHealthyEndpoint
 	}
 	cli.setActor(act)
 
@@ -285,17 +267,6 @@ func WithEndpoints(endpoints ...Endpoint) Option {
 	}
 }
 
-// WithSingleClient returns a client constructor option
-// that specifies single neo-go client and forces Client
-// to use it for requests.
-//
-// Passed client must already be initialized.
-func WithSingleClient(cli *rpcclient.WSClient) Option {
-	return func(c *cfg) {
-		c.singleCli = cli
-	}
-}
-
 // WithConnLostCallback return a client constructor option
 // that specifies a callback that is called when Client
 // unsuccessfully tried to connect to all the specified