diff --git a/cmd/frostfs-cli/modules/object/nodes.go b/cmd/frostfs-cli/modules/object/nodes.go
index ef6c29179..70a3eb75f 100644
--- a/cmd/frostfs-cli/modules/object/nodes.go
+++ b/cmd/frostfs-cli/modules/object/nodes.go
@@ -31,10 +31,10 @@ const (
 )
 
 type objectNodesInfo struct {
-	containerID      cid.ID
-	objectID         oid.ID
-	relatedObjectIDs []oid.ID
-	isLock           bool
+	containerID       cid.ID
+	objectID          oid.ID
+	relatedObjectIDs  []oid.ID
+	isLockOrTombstone bool
 }
 
 type boolError struct {
@@ -101,9 +101,9 @@ func getObjectInfo(cmd *cobra.Command, cnrID cid.ID, objID oid.ID, cli *client.C
 	res, err := internalclient.HeadObject(cmd.Context(), prmHead)
 	if err == nil {
 		return &objectNodesInfo{
-			containerID: cnrID,
-			objectID:    objID,
-			isLock:      res.Header().Type() == objectSDK.TypeLock,
+			containerID:       cnrID,
+			objectID:          objID,
+			isLockOrTombstone: res.Header().Type() == objectSDK.TypeLock || res.Header().Type() == objectSDK.TypeTombstone,
 		}
 	}
 
@@ -191,7 +191,7 @@ func getRequiredPlacement(cmd *cobra.Command, objInfo *objectNodesInfo, placemen
 		numOfReplicas := placementPolicy.ReplicaNumberByIndex(repIdx)
 		var nodeIdx uint32
 		for _, n := range rep {
-			if !objInfo.isLock && nodeIdx == numOfReplicas { // lock object should be on all container nodes
+			if !objInfo.isLockOrTombstone && nodeIdx == numOfReplicas { // lock and tombstone objects should be on all container nodes
 				break
 			}
 			nodes[n.Hash()] = n