What program are you using to report the temps ex. bios, coretemp, etc?
They are couple of things you can do.
-Reseat the hsf and apply new paste (as5).
-Add more fan inside of the case if possible.
-Case wiring (arrange the wiring so that proper airflow is passing inside of the case)
-Clean your case and inside of the case (fans, cpu hsf,etc) from dust.
- and of coure buy a different hsf... but i would not buy it.
To me 46C looks normal for P-D. It is a one hot cpu.