Secondary command buffer -re-recording

I’m recording my geometry and pipeline binding in a secondary command buffer.
When recording the primary buffer I use vkCmdExecuteCommands.
This all works great!

At run time I use a timeline semaphore to schedule the re-recording of the secondary buffer (to swap geometry). It draws fine. but I get the following error.

I have tried vkFence etc but I can’t seem to get rid of the error.

Is what I’m trying to do allowed? The error does say “rerecorded” so without re-recording the primary buffer can I just re-record the secondary buffer?