diff --git a/CMakeLists.txt b/CMakeLists.txt
index fcb12b1c8ccd23885c2e4a039db76c6494057b62..2a4b4852ae80caddcb0ff8837de2738566f6777d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -337,6 +337,12 @@ CONFIGURE_FILE (
    "${PROJECT_BINARY_DIR}/gnome-ring.desktop"
 )
 
+# generate .desktop file for autostart
+CONFIGURE_FILE (
+   "${PROJECT_SOURCE_DIR}/gnome-ring.desktop.autostart.in"
+   "${PROJECT_BINARY_DIR}/gnome-ring.desktop.autostart"
+)
+
 INSTALL(TARGETS gnome-ring
    RUNTIME DESTINATION bin
 )
@@ -348,7 +354,7 @@ INSTALL(FILES ${PROJECT_BINARY_DIR}/gnome-ring.desktop
 
 # install .desktop in the gnome-ring data dir, so that it can be copied to the
 # autostart dir by the client
-INSTALL(FILES ${PROJECT_BINARY_DIR}/gnome-ring.desktop
+INSTALL(FILES ${PROJECT_BINARY_DIR}/gnome-ring.desktop.autostart
    DESTINATION
       ${CMAKE_INSTALL_PREFIX}/share/gnome-ring/
    PERMISSIONS
@@ -356,6 +362,8 @@ INSTALL(FILES ${PROJECT_BINARY_DIR}/gnome-ring.desktop
       OWNER_WRITE
       OWNER_READ
       GROUP_READ
+   RENAME
+      gnome-ring.desktop
 )
 
 INSTALL(FILES pixmaps/ring.svg
diff --git a/gnome-ring.desktop.autostart.in b/gnome-ring.desktop.autostart.in
new file mode 100644
index 0000000000000000000000000000000000000000..1dac791383546a2e7d43f25e808ba343117a9aac
--- /dev/null
+++ b/gnome-ring.desktop.autostart.in
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Ring
+Comment=Ring is a secured and distributed communication software.
+Exec=gnome-ring --restore-last-window-state
+Icon=@RING_INSTALL_PREFIX@/share/icons/hicolor/scalable/apps/ring.svg
+StartupNotify=true
+Terminal=false
+Type=Application
+Categories=GNOME;GTK;Network;Telephony;