diff --git a/m4macros/gsettings.m4 b/m4macros/gsettings.m4
index 35ee5aa..4d38e1b 100644
--- a/m4macros/gsettings.m4
+++ b/m4macros/gsettings.m4
@@ -67,7 +67,7 @@ clean-gsettings-schemas:
ifdef gsettings_ENUM_NAMESPACE
$(gsettings__enum_file): $(gsettings_ENUM_FILES)
- $(AM_V_GEN) glib-mkenums --comments '\'''\'' --fhead "" --vhead " <@type@ id='\''$(gsettings_ENUM_NAMESPACE).@EnumName@'\''>" --vprod " " --vtail " @type@>" --ftail "" [$]^ > [$]@.tmp && mv [$]@.tmp [$]@
+ $(AM_V_GEN) glib-mkenums --comments '\'''\'' --fhead "" --vhead " <@type@ id='\''$(gsettings_ENUM_NAMESPACE).@EnumName@'\''>" --vprod " " --vtail " @type@>" --ftail "" [$](sort [$]^) > [$]@.tmp && mv [$]@.tmp [$]@
endif
'
_GSETTINGS_SUBST(GSETTINGS_RULES)