diff --git a/ChangeLog b/ChangeLog
index aa7b0a52142f695ee203e82bb1b21fc26d590d90..10545c66aae97f1f07ec0b4710e96d167a01f662 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2009-02-22 jeromeg
+
+  * lib/screenshooter-dialogs.c:
+    (set_default_item) do not look up for a default item if the tree is empty.
+
 2009-02-22 jeromeg
 
   * lib/screenshooter-utils.c: add some additionnal debugging information.
diff --git a/lib/screenshooter-dialogs.c b/lib/screenshooter-dialogs.c
index 45e71c44bd66f7e19b6a5b69407a4d6054b4bf6a..5beff4e76463b02d36055cb7a69c82460614e17e 100644
--- a/lib/screenshooter-dialogs.c
+++ b/lib/screenshooter-dialogs.c
@@ -375,42 +375,51 @@ static void set_default_item (GtkWidget       *combobox,
 {
   GtkTreeModel *model = 
     gtk_combo_box_get_model (GTK_COMBO_BOX (combobox));
-  GtkTreeIter iter; 
-  gchar *command = NULL;
-  gboolean found = FALSE;
   
+  GtkTreeIter iter; 
+    
   /* Get the first iter */
-  gtk_tree_model_get_iter_first (model , &iter);
-       
-  /* Loop until finding the appropirate item, if any */
-  do
-    {
-      gtk_tree_model_get (model, &iter, 2, &command, -1);
-      
-      if (g_str_equal (command, sd->app))
+  if (gtk_tree_model_get_iter_first (model , &iter))
+    {     
+      gchar *command = NULL;
+      gboolean found = FALSE;
+
+      /* Loop until finding the appropirate item, if any */
+      do
         {
-          gtk_combo_box_set_active_iter (GTK_COMBO_BOX (combobox), 
-                                         &iter);
+          gtk_tree_model_get (model, &iter, 2, &command, -1);
           
-          found = TRUE;
+          if (g_str_equal (command, sd->app))
+            {
+              gtk_combo_box_set_active_iter (GTK_COMBO_BOX (combobox), 
+                                             &iter);
+              
+              found = TRUE;
+            }
+          
+          g_free (command);      
         }
+      while (gtk_tree_model_iter_next (model, &iter));
       
-      g_free (command);      
+      /* If no suitable item was found, set the first item as active and
+       * set sd->app accordingly. */
+      if (!found)
+        {
+          gtk_tree_model_get_iter_first (model , &iter);
+          gtk_tree_model_get (model, &iter, 2, &command, -1);
+          
+          gtk_combo_box_set_active_iter (GTK_COMBO_BOX (combobox), &iter);
+          
+          g_free (sd->app);
+          
+          sd->app = command;
+        }
     }
-  while (gtk_tree_model_iter_next (model, &iter));
-  
-  /* If no suitable item was found, set the first item as active and
-   * set sd->app accordingly. */
-  if (!found)
+  else
     {
-      gtk_tree_model_get_iter_first (model , &iter);
-      gtk_tree_model_get (model, &iter, 2, &command, -1);
-      
-      gtk_combo_box_set_active_iter (GTK_COMBO_BOX (combobox), &iter);
-      
       g_free (sd->app);
-      
-      sd->app = command;
+
+      sd->app = g_strdup ("none");
     }
 }                              
 #endif