diff --git a/.gitignore b/.gitignore
index fb8872c..338cbfb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -53,6 +53,7 @@ mutter-theme-viewer
 mutter.desktop
 org.gnome.mutter.gschema.valid
 org.gnome.mutter.gschema.xml
+org.gnome.mutter.gschema.xml.in
 testasyncgetprop
 testboxes
 testgradient
diff --git a/configure.ac b/configure.ac
index 972367a..432c6f5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -437,6 +437,7 @@ src/libmutter.pc
 src/mutter-plugins.pc
 src/tools/Makefile
 src/compositor/plugins/Makefile
+src/org.gnome.mutter.gschema.xml.in
 po/Makefile.in
 ])
 
diff --git a/src/Makefile.am b/src/Makefile.am
index 9071d1a..5b72c93 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -281,7 +281,7 @@ CLEANFILES =					\
 	inlinepixbufs.h				\
 	mutter.desktop				\
 	mutter-wm.desktop			\
-	org.gnome.mutter.gschema.xml		\
+	$(gsettings_SCHEMAS)			\
 	$(xml_DATA)				\
 	$(mutter_built_sources)			\
 	$(typelib_DATA)				\
@@ -300,7 +300,7 @@ EXTRA_DIST=$(desktopfiles_files) 	\
 	$(desktopfiles_in_files)	\
 	$(wmproperties_in_files)	\
 	$(xml_in_files)			\
-	org.gnome.mutter.gschema.xml.in \
+	$(gsettings_SCHEMAS:.xml=.xml.in.in) \
 	mutter-schemas.convert \
 	libmutter.pc.in \
 	mutter-plugins.pc.in  \
diff --git a/src/org.gnome.mutter.gschema.xml.in b/src/org.gnome.mutter.gschema.xml.in
deleted file mode 100644
index e921d1e..0000000
--- a/src/org.gnome.mutter.gschema.xml.in
+++ /dev/null
@@ -1,120 +0,0 @@
-<schemalist>
-  <schema id="org.gnome.mutter" path="/org/gnome/mutter/"
-          gettext-domain="@GETTEXT_DOMAIN">
-
-    <key name="overlay-key" type="s">
-      <default>'Super_L'</default>
-      <_summary>Modifier to use for extended window management operations</_summary>
-      <_description>
-        This key will initiate the "overlay", which is a combination window
-        overview and application launching system.  The default is intended
-        to be the "Windows key" on PC hardware.
-
-        It's expected that this binding either the default or set to
-        the empty string.
-      </_description>
-    </key>
-
-    <key name="attach-modal-dialogs" type="b">
-      <default>false</default>
-      <_summary>Attach modal dialogs</_summary>
-      <_description>
-        When true, instead of having independent titlebars, modal dialogs
-        appear attached to the titlebar of the parent window and are moved
-        together with the parent window.
-      </_description>
-    </key>
-
-    <key name="edge-tiling" type="b">
-      <default>false</default>
-      <_summary>Enable edge tiling when dropping windows on screen edges</_summary>
-      <_description>
-        If enabled, dropping windows on vertical screen edges maximizes them
-        vertically and resizes them horizontally to cover half of the available
-        area. Dropping windows on the top screen edge maximizes them completely.
-      </_description>
-    </key>
-
-    <key name="dynamic-workspaces" type="b">
-      <default>false</default>
-      <_summary>Workspaces are managed dynamically</_summary>
-      <_description>
-        Determines whether workspaces are managed dynamically or
-        whether there's a static number of workspaces (determined
-        by the num-workspaces key in org.gnome.desktop.wm.preferences).
-      </_description>
-    </key>
-
-    <key name="workspaces-only-on-primary" type="b">
-      <default>false</default>
-      <_summary>Workspaces only on primary</_summary>
-      <_description>
-        Determines whether workspace switching should happen for windows
-        on all monitors or only for windows on the primary monitor.
-      </_description>
-    </key>
-
-    <key name="no-tab-popup" type="b">
-      <default>false</default>
-      <_summary>No tab popup</_summary>
-      <_description>
-        Determines whether the use of popup and highlight frame should
-        be disabled for window cycling.
-      </_description>
-    </key>
-
-    <key name="focus-change-on-pointer-rest" type="b">
-      <default>false</default>
-      <_summary>Delay focus changes until the pointer stops moving</_summary>
-      <_description>
-        If set to true, and the focus mode is either "sloppy" or "mouse"
-        then the focus will not be changed immediately when entering a
-        window, but only after the pointer stops moving.
-      </_description>
-    </key>
-
-    <key name="draggable-border-width" type="i">
-      <default>10</default>
-      <range min="0" max="64"/>
-      <_summary>Draggable border width</_summary>
-      <_description>
-          The amount of total draggable borders. If the theme's visible
-          borders are not enough, invisible borders will be added to meet
-          this value.
-      </_description>
-    </key>
-
-    <key name="auto-maximize" type="b">
-      <default>true</default>
-      <_summary>Auto maximize nearly monitor sized windows</_summary>
-      <_description>
-        If enabled, monitor nearly monitor sized windows automatically get
-        maximized when mapped.
-      </_description>
-    </key>
-
-    <child name="keybindings" schema="org.gnome.mutter.keybindings"/>
-
-  </schema>
-  <schema id="org.gnome.mutter.keybindings" path="/org/gnome/mutter/keybindings/">
-
-    <key name="toggle-tiled-left" type="as">
-      <default><![CDATA[['<Super>Left']]]></default>
-    </key>
-
-    <key name="toggle-tiled-right" type="as">
-      <default><![CDATA[['<Super>Right']]]></default>
-    </key>
-
-    <key name="tab-popup-select" type="as">
-      <default>[]</default>
-      <_summary>Select window from tab popup</_summary>
-    </key>
-
-    <key name="tab-popup-cancel" type="as">
-      <default>[]</default>
-      <_summary>Cancel tab popup</_summary>
-    </key>
-
-  </schema>
-</schemalist>
diff --git a/src/org.gnome.mutter.gschema.xml.in.in b/src/org.gnome.mutter.gschema.xml.in.in
new file mode 100644
index 0000000..9528124
--- /dev/null
+++ b/src/org.gnome.mutter.gschema.xml.in.in
@@ -0,0 +1,120 @@
+<schemalist>
+  <schema id="org.gnome.mutter" path="/org/gnome/mutter/"
+          gettext-domain="@GETTEXT_PACKAGE@">
+
+    <key name="overlay-key" type="s">
+      <default>'Super_L'</default>
+      <_summary>Modifier to use for extended window management operations</_summary>
+      <_description>
+        This key will initiate the "overlay", which is a combination window
+        overview and application launching system.  The default is intended
+        to be the "Windows key" on PC hardware.
+
+        It's expected that this binding either the default or set to
+        the empty string.
+      </_description>
+    </key>
+
+    <key name="attach-modal-dialogs" type="b">
+      <default>false</default>
+      <_summary>Attach modal dialogs</_summary>
+      <_description>
+        When true, instead of having independent titlebars, modal dialogs
+        appear attached to the titlebar of the parent window and are moved
+        together with the parent window.
+      </_description>
+    </key>
+
+    <key name="edge-tiling" type="b">
+      <default>false</default>
+      <_summary>Enable edge tiling when dropping windows on screen edges</_summary>
+      <_description>
+        If enabled, dropping windows on vertical screen edges maximizes them
+        vertically and resizes them horizontally to cover half of the available
+        area. Dropping windows on the top screen edge maximizes them completely.
+      </_description>
+    </key>
+
+    <key name="dynamic-workspaces" type="b">
+      <default>false</default>
+      <_summary>Workspaces are managed dynamically</_summary>
+      <_description>
+        Determines whether workspaces are managed dynamically or
+        whether there's a static number of workspaces (determined
+        by the num-workspaces key in org.gnome.desktop.wm.preferences).
+      </_description>
+    </key>
+
+    <key name="workspaces-only-on-primary" type="b">
+      <default>false</default>
+      <_summary>Workspaces only on primary</_summary>
+      <_description>
+        Determines whether workspace switching should happen for windows
+        on all monitors or only for windows on the primary monitor.
+      </_description>
+    </key>
+
+    <key name="no-tab-popup" type="b">
+      <default>false</default>
+      <_summary>No tab popup</_summary>
+      <_description>
+        Determines whether the use of popup and highlight frame should
+        be disabled for window cycling.
+      </_description>
+    </key>
+
+    <key name="focus-change-on-pointer-rest" type="b">
+      <default>false</default>
+      <_summary>Delay focus changes until the pointer stops moving</_summary>
+      <_description>
+        If set to true, and the focus mode is either "sloppy" or "mouse"
+        then the focus will not be changed immediately when entering a
+        window, but only after the pointer stops moving.
+      </_description>
+    </key>
+
+    <key name="draggable-border-width" type="i">
+      <default>10</default>
+      <range min="0" max="64"/>
+      <_summary>Draggable border width</_summary>
+      <_description>
+          The amount of total draggable borders. If the theme's visible
+          borders are not enough, invisible borders will be added to meet
+          this value.
+      </_description>
+    </key>
+
+    <key name="auto-maximize" type="b">
+      <default>true</default>
+      <_summary>Auto maximize nearly monitor sized windows</_summary>
+      <_description>
+        If enabled, monitor nearly monitor sized windows automatically get
+        maximized when mapped.
+      </_description>
+    </key>
+
+    <child name="keybindings" schema="org.gnome.mutter.keybindings"/>
+
+  </schema>
+  <schema id="org.gnome.mutter.keybindings" path="/org/gnome/mutter/keybindings/">
+
+    <key name="toggle-tiled-left" type="as">
+      <default><![CDATA[['<Super>Left']]]></default>
+    </key>
+
+    <key name="toggle-tiled-right" type="as">
+      <default><![CDATA[['<Super>Right']]]></default>
+    </key>
+
+    <key name="tab-popup-select" type="as">
+      <default>[]</default>
+      <_summary>Select window from tab popup</_summary>
+    </key>
+
+    <key name="tab-popup-cancel" type="as">
+      <default>[]</default>
+      <_summary>Cancel tab popup</_summary>
+    </key>
+
+  </schema>
+</schemalist>
