diff --git a/configure.ac b/configure.ac
index 1031dcc..89698ba 100644
--- a/configure.ac
+++ b/configure.ac
@@ -274,6 +274,8 @@ dnl documenation
 AC_PATH_PROG([XSLTPROC], [xsltproc])
 AM_CONDITIONAL([HAVE_XSLTPROC], [test x"$XSLTPROC" != x])
 
+AC_SUBST(VERSION)
+
 AC_OUTPUT([
 Makefile
 src/Makefile
@@ -295,6 +297,8 @@ data/icons/32x32/Makefile
 data/icons/48x48/Makefile
 data/icons/120x120/Makefile
 data/icons/scalable/Makefile
+data/rygel.desktop.in
+data/rygel-preferences.desktop.in
 doc/Makefile
 po/Makefile.in
 rygel-1.0.pc
diff --git a/data/Makefile.am b/data/Makefile.am
index 094c894..033b4a5 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -25,15 +25,11 @@ dbusservice_DATA = $(dbusservice_in_files:.service.in=.service)
 $(dbusservice_DATA): $(dbusservice_in_files) Makefile
 	@sed -e "s|\@bindir\@|$(bindir)|" $< > $@
 
+# Rule to create the .desktop files
 desktopdir = $(datadir)/applications
 desktop_in_files = rygel.desktop.in rygel-preferences.desktop.in
 desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
-
-# Rule to create the .desktop files
-$(desktop_DATA): $(desktop_in_files) Makefile
-	@sed -e "s,\$${prefix},${prefix},g" \
-	     -e "s,\$${version},${PACKAGE_VERSION},g" \
-             $(srcdir)/$(@:.desktop=.desktop.in) > $@
+@INTLTOOL_DESKTOP_RULE@
 
 CLEANFILES = $(dbusservice_DATA) $(desktop_DATA) rygel.conf
 EXTRA_DIST = rygel-maemo.conf \
diff --git a/data/rygel-preferences.desktop.in.in b/data/rygel-preferences.desktop.in.in
index cb39fe1..292a1ce 100644
--- a/data/rygel-preferences.desktop.in.in
+++ b/data/rygel-preferences.desktop.in.in
@@ -1,9 +1,7 @@
 [Desktop Entry]
 Encoding=UTF-8
-Name=Rygel Preferences
-Name[en_GB]=Rygel Preferences
-GenericName=UPnP/DLNA Preferences
-GenericName[en_GB]=UPnP/DLNA Preferences
+_Name=Rygel Preferences
+_GenericName=UPnP/DLNA Preferences
 Categories=Settings;X-GNOME-PersonalSettings;
 Icon=rygel
 Exec=rygel-preferences
@@ -13,4 +11,4 @@ StartupNotify=true
 X-GNOME-Bugzilla-Bugzilla=GNOME
 X-GNOME-Bugzilla-Product=Rygel
 X-GNOME-Bugzilla-Component=rygel-preferences
-X-GNOME-Bugzilla-Version=${version}
+X-GNOME-Bugzilla-Version=@VERSION@
diff --git a/data/rygel.desktop.in.in b/data/rygel.desktop.in.in
index 17ce8bd..8db4875 100644
--- a/data/rygel.desktop.in.in
+++ b/data/rygel.desktop.in.in
@@ -1,9 +1,7 @@
 [Desktop Entry]
-Name=Rygel
-Name[en_GB]=Rygel
-GenericName=UPnP/DLNA Services
-GenericName[en_GB]=UPnP/DLNA Services
-Comment=UPnP/DLNA Services
+_Name=Rygel
+_GenericName=UPnP/DLNA Services
+_Comment=UPnP/DLNA Services
 Categories=
 Exec=dbus-send --type=method_call --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.StartServiceByName string:org.gnome.Rygel1 uint32:0
 Terminal=false
@@ -14,4 +12,4 @@ X-GNOME-Autostart-enabled=true
 X-GNOME-Bugzilla-Bugzilla=GNOME
 X-GNOME-Bugzilla-Product=Rygel
 X-GNOME-Bugzilla-Component=general
-X-GNOME-Bugzilla-Version=${version}
+X-GNOME-Bugzilla-Version=@VERSION@
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 067d42c..3fed2c8 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -3,7 +3,8 @@
 [encoding: UTF-8]
 
 [type: gettext/glade]data/rygel-preferences.ui
-data/rygel-preferences.desktop.in
+data/rygel-preferences.desktop.in.in
+data/rygel.desktop.in.in
 data/xml/AVTransport2.xml
 data/xml/ConnectionManager.xml
 data/xml/ContentDirectory.xml
