Try defining an axis for the tangent input with a *tangent* node:

![enter image description here][1]

In other words, for the effect in your first screenshot, it should be the axis perpendicular with the flat front of the object. 

*Note that the tangent node uses local coordinates.* 

----

It probably was working fine until you applied the scale to the objects. By default the *tangent* uses the object's local Z axis. When the scale is applied, the object's local Z was aligned with the global Z (which is not perpendicular to the "front" of your object). 


For example, if you rotate the object -90° in edit mode then rotate it back 90° in object mode so that the object's local Z points out from the center of the disk:

![enter image description here][2]

Then it will work with the default tangent:

![enter image description here][3]


  [1]: https://i.sstatic.net/33Fys.png
  [2]: https://i.sstatic.net/oAKlt.png
  [3]: https://i.sstatic.net/yMo6U.png