Disabling movement not re-enabling?

I have this script that I use to enable/disable player movement. And it’s worked forever, but just now has stopped working. The disabling of movement works, but when I go to re-enable it, it doesn’t work, even though it’s printing

local Players = game:GetService('Players')
local ReplicatedStorage = game:GetService('ReplicatedStorage')

local Player = Players.LocalPlayer
local PlayerControls = require(Player.PlayerScripts.PlayerModule):GetControls()

return function(active)	
	if active then
		print("ENABLE") -- prints
		PlayerControls:Enable()
	else
		PlayerControls:Disable()
	end
end

run the game and while the script is running check what is happening in the explorer

If you disable/enable it too fast (when the player joins) it won’t actually disable or enable. Try adding a wait() into your script.