ending up re-using the same mapping because it is created with the desktop name.
Then I think we should unlink the mapping object (but keep it alive), and create a *new* mapping object with the same.
Perhaps this was obvious at first, but there was some complication that I failed to notice. Do you mind elaborating if this is the case?