You didn't mention whether you find the work you're doing to be interesting or boring. When I'm working on something boring or unpleasant I also tend to procrastinate, but when I'm working on an interesting problem (sometimes even tracking down an obscure bug qualifies as interesting), I get absorbed in what I'm doing and don't get easily distracted.
If you find your work boring, have you considered looking for a job that's more in line with your interests?
If you find your work boring, have you considered looking for a job that's more in line with your interests?