Reliable protocol for mercapo-silanes on glass?

I am trying to bind gold nanoparticles to functionalized glass surfaces (optical fibers in particular) and the simple protocol I use works GREAT with 3-aminopropyltrimethoxysilanes, but fails regularly with 3-mercaptapropyltrimethoxysilane! The protocol is as follows:

Clean fibers in pirhana (30min)
Rinse with anhydrous ethanol.
Immerse in anhydrous ethanol, add MPTMS/APTMS at 1% by volume for 1 hour.
Remove and rinse with ethanol.
Store fibers in ethanol until use.

The weird part is I've had at least one trial where the MPTMS worked great. (I evaluate the efficacy by monitoring nanoparticles depositing on my fibers in realtime with UV-Vis). I am amenable to any suggestions and really have no idea why this protocol worked really great once, but mostly fails. I have tweaked most parameters such as immersion times, heating vs. non-heating etc.

It's really confusing to me why this doesn't work since the only difference in these molecules is the headgroup.