Python RegEx substitution of all but first instance found

Python RegEx substitution of all but first instance found

I've been fighting with this for a while and have simplified the problem
down to this: I am attempting to take a word like 'assessments' and
substitute all 's' characters except the first instance found. IE
as5e55ment5. It seems that re.sub() does all of the matching before
calling the function retfun(). This seems counter to what is written in
the PyDocs in Section 7.2 under re.sub(). My question is: Is there a
different function I should be using that I've missed or is what I have
below close and I'm just missing something obvious. Thanks! (Python 3.3.2)
import re
value = "assessments"
inc = 0
def retfun(num):
global inc
if num == 0:
inc += 1
return 's'
else:
return '5'
nval = re.sub(r's', retfun(inc), value, flags=re.IGNORECASE)
print(nval)