CFrame gets flipped when I try to re-set(?) it

when I do this

	camera.CFrame=CFrame.fromMatrix(camera.CFrame.Position,camera.CFrame.RightVector,camera.CFrame.UpVector,camera.CFrame.LookVector)

The Camera goes completely crazy and repeatedly flips the LookVector

but when I manually flip the LookVector, it works normally

	camera.CFrame=CFrame.fromMatrix(camera.CFrame.Position,camera.CFrame.RightVector,camera.CFrame.UpVector,-camera.CFrame.LookVector)

Any idea why this happens?

Alternatively, is there a better way to only change the LookVector of a CFrame?