 			else
 				# This shouldn't be possible!
 				return [firstUpdate, secondUpdate]
-		else if firstOp.d? and secondOp.i? and firstOp.p  == secondOp.p
+		else if mergeInsertsAndDeletes and firstOp.d? and secondOp.i? and firstOp.p  == secondOp.p
 			offset = firstOp.d.indexOf(secondOp.i)
 			if offset == -1
 				return [firstUpdate, secondUpdate]

		for update in firstPass
			lastCompressedUpdate = secondPass.pop()
			if lastCompressedUpdate?
				secondPass = secondPass.concat ConcatManager._cancelOppositeInsertsAndDeletes lastCompressedUpdate, update
			else
				secondPass.push update



	MAX_TIME_BETWEEN_UPDATES: oneMinute = 60 * 1000

	_concatTwoUpdates: (firstUpdate, secondUpdate, mergeInsertsAndDeletes) ->
		firstUpdate =
			op: firstUpdate.op
			meta:
