Ok, I figured out why, but I still don't know how to fix it.
I set a dropdown to empty_label = None, which automatically selects the first element. I want that, but the form then thinks it has changed because the value in the list of initial values is empty for that field, and I can't see how to set the initial value for the forms in a model formset.
Any suggestions?