If you get this error then it means you are using global cursor that will be defined each time you are calling this procedure and give you the same error.
Define a local cursor. Just put the keyword LOCAL after CURSOR:
DECLARE MyCursor CURSOR LOCAL FOR ...
