diff --git a/libkbfs/folder_branch_ops.go b/libkbfs/folder_branch_ops.go
index <HASH>..<HASH> 100644
--- a/libkbfs/folder_branch_ops.go
+++ b/libkbfs/folder_branch_ops.go
@@ -2040,6 +2040,9 @@ func isRetriableError(err error, retries int) bool {
 }
 
 func (fbo *folderBranchOps) finalizeBlocks(bps *blockPutState) error {
+	if bps == nil {
+		return nil
+	}
 	bcache := fbo.config.BlockCache()
 	for _, blockState := range bps.blockStates {
 		newPtr := blockState.blockPtr
@@ -4216,7 +4219,13 @@ func (fbo *folderBranchOps) unstageLocked(ctx context.Context,
 		resOp.AddUnrefBlock(ptr)
 	}
 	md.AddOp(resOp)
-	return fbo.finalizeMDWriteLocked(ctx, lState, md, &blockPutState{}, NoExcl)
+
+	bps, err := fbo.maybeUnembedAndPutBlocks(ctx, md)
+	if err != nil {
+		return err
+	}
+
+	return fbo.finalizeMDWriteLocked(ctx, lState, md, bps, NoExcl)
 }
 
 // TODO: remove once we have automatic conflict resolution
folder_branch_ops: unembed block changes when unstaging

Otherwise the resolution put will get rejected.

Issue: KBFS-<I>