diff --git a/libkbfs/cr_actions.go b/libkbfs/cr_actions.go
index <HASH>..<HASH> 100644
--- a/libkbfs/cr_actions.go
+++ b/libkbfs/cr_actions.go
@@ -658,14 +658,22 @@ func (dua *dropUnmergedAction) updateOps(unmergedMostRecent BlockPointer,
 			unmergedMostRecent)
 	}
 
+	found := false
 	for i, op := range unmergedChain.ops {
 		if op == dua.op {
 			unmergedChain.ops =
 				append(unmergedChain.ops[:i], unmergedChain.ops[i+1:]...)
+			found = true
 			break
 		}
 	}
 
+	// Return early if this chain didn't contain the op; no need to
+	// invert on the merged chain in that case.
+	if !found {
+		return nil
+	}
+
 	invertedOp := invertOpForLocalNotifications(dua.op)
 	err := prependOpsToChain(mergedMostRecent, mergedChains, invertedOp)
 	if err != nil {
cr: when dropping an action, only invert locally on one chain

Some actions get their updates applied on both the parent and the node
itself, and we don't want the inversions appearing multiple times.

Issue: KBFS-<I>