You are right, I assumed you are adding the noise and resetting the weights of all layers before and after the update step respectively.
Well, I just initialized the weights to a constant value, calculated the expected gradients and had a look what happens after adding/resetting the weights and the update step.
It was just a numerical check to see, if the “right” gradients are used as I’m always worried about manipulating .data.