diff --git a/data/org.gnome.Gnote.service.in b/data/org.gnome.Gnote.service.in
index 39169c8..28ce8f3 100644
--- a/data/org.gnome.Gnote.service.in
+++ b/data/org.gnome.Gnote.service.in
@@ -1,5 +1,5 @@
 
 [D-BUS Service]
 Name=org.gnome.Gnote
-Exec=@bindir@/@wrapper@
+Exec=@bindir@/@wrapper@ --background
 
diff --git a/src/gnote.cpp b/src/gnote.cpp
index 593a5e8..114ede6 100644
--- a/src/gnote.cpp
+++ b/src/gnote.cpp
@@ -67,6 +67,7 @@ namespace gnote {
     : m_manager(NULL)
     , m_keybinder(NULL)
     , m_is_panel_applet(false)
+    , m_is_background(false)
     , m_prefsdlg(NULL)
   {
   }
@@ -88,6 +89,7 @@ namespace gnote {
     }
 
     m_is_panel_applet = cmd_line.use_panel_applet();
+    m_is_background = cmd_line.use_background();
     m_icon_theme = Gtk::IconTheme::get_default();
     m_icon_theme->append_search_path(DATADIR"/icons");
     m_icon_theme->append_search_path(DATADIR"/gnote/icons");
@@ -105,7 +107,7 @@ namespace gnote {
     setup_global_actions();
     m_manager->get_addin_manager().initialize_application_addins();
 
-    if(m_is_panel_applet) {
+    if(m_is_panel_applet || m_is_background) {
       am["CloseWindowAction"]->set_visible(true);
       am["QuitGNoteAction"]->set_visible(false);
     }
@@ -167,7 +169,7 @@ namespace gnote {
         DBG_OUT("starting tray icon");
         start_tray_icon();
       }
-      else {
+      else if(!m_is_background){
         ActionManager & am(ActionManager::obj());
         am["ShowSearchAllNotesAction"]->activate();
       }
@@ -440,6 +442,7 @@ namespace gnote {
   GnoteCommandLine::GnoteCommandLine()
     : m_context(g_option_context_new("Foobar"))
     , m_use_panel(false)
+    , m_background(false)
     , m_note_path(NULL)
     , m_do_search(false)
     , m_show_version(false)
@@ -451,6 +454,7 @@ namespace gnote {
     static const GOptionEntry entries[] =
       {
         { "panel-applet", 0, G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_NONE, &m_use_panel, _("Run Gnote as a GNOME panel applet."), NULL },
+        { "background", 0, G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_NONE, &m_background, _("Run Gnote in background."), NULL },
         { "note-path", 0, 0, G_OPTION_ARG_STRING, &m_note_path, _("Specify the path of the directory containing the notes."), _("path") },
         { "search", 0, G_OPTION_FLAG_OPTIONAL_ARG, G_OPTION_ARG_CALLBACK, (void*)GnoteCommandLine::parse_func, _("Open the search all notes window with the search text."), _("text") },
         { "version", 0, 0, G_OPTION_ARG_NONE, &m_show_version, _("Print version information."), NULL },
diff --git a/src/gnote.hpp b/src/gnote.hpp
index d02802a..aa1237a 100644
--- a/src/gnote.hpp
+++ b/src/gnote.hpp
@@ -61,6 +61,10 @@ public:
     {
       return m_use_panel;
     }
+   bool        use_background() const
+    {
+      return m_background;
+    }
   void parse(int &argc, gchar ** & argv);
 
   static gboolean parse_func(const gchar *option_name,
@@ -77,6 +81,7 @@ private:
   GOptionContext *m_context;
 
   bool        m_use_panel;
+  bool        m_background;
   gchar *     m_note_path;
   bool        m_do_search;
   std::string m_search;
@@ -138,6 +143,10 @@ public:
     {
       return m_is_panel_applet;
     }
+  bool is_background()
+    {
+      return m_is_background;
+    }
   void set_tray(const Tray::Ptr & tray)
     {
       m_tray = tray;
@@ -156,6 +165,7 @@ private:
   Glib::RefPtr<TrayIcon> m_tray_icon;
   Tray::Ptr m_tray;
   bool m_is_panel_applet;
+  bool m_is_background;
   PreferencesDialog *m_prefsdlg;
   GnoteCommandLine cmd_line;
 };
