--- rhythmbox-0.12.5/plugins/ipod/rb-ipod-db.c	2009-09-16 23:04:49.000000000 +0200
+++ rhythmbox/plugins/ipod/rb-ipod-db.c	2009-12-21 15:59:23.749414327 +0100
@@ -108,6 +108,7 @@
 	 * iPod directory tree but not accessible from the iPod UI)
 	 */
 	gboolean read_only;
+	gboolean new_action;
 	GQueue *delayed_actions;
 	GThread *saving_thread;
 
@@ -845,6 +846,12 @@
 		g_warning ("Database is read-only, not saving");
 		return TRUE;
 	}
+
+	if (priv->new_action) {
+		priv->new_action = FALSE;
+		return TRUE;
+	}
+
 	rb_debug ("Starting iPod database save");
 	rb_debug ("Switching iPod database to read-only");
 	priv->read_only = TRUE;
@@ -862,11 +869,13 @@
 
 	if (priv->save_timeout_id == 0) {
 		rb_debug ("Scheduling iPod database save in 15 seconds");
-		priv->save_timeout_id = g_timeout_add_seconds (15, 
+		priv->save_timeout_id = g_timeout_add_seconds (15,
 							       (GSourceFunc)save_timeout_cb,
 							       ipod_db);
+		priv->new_action = FALSE;
 	} else {
 		rb_debug ("Database save already scheduled");
+		priv->new_action = TRUE;
 	}
 }
 
