Required_slots called twice when entering forms rasa 2.3.4

I have noticed that this will be called twice when entering a form and this is giving issues in logic being called. Is this normal behavior?

async def required_slots( self, slots_mapped_in_domain: List[Text], dispatcher: “CollectingDispatcher”, tracker: “Tracker”, domain: “DomainDict”, ) → Optional[List[Text]]:

Yes, this is expected behavior. We call it once to know which custom slots the user has defined and wants to extract and then we call it again with the updated conversation tracker (which contains newly extracted and validated slots) to see which slot should be requested next.