diff -u ../rhythmbox-0.10.0/plugins/daap/rb-daap-connection.c plugins/daap/rb-daap-connection.c
--- ../rhythmbox-0.10.0/plugins/daap/rb-daap-connection.c	2007-02-24 23:27:47.000000000 +0000
+++ plugins/daap/rb-daap-connection.c	2007-08-27 15:44:15.000000000 +0100
@@ -914,6 +914,7 @@
 		const gchar *artist = NULL;
 		const gchar *format = NULL;
 		const gchar *genre = NULL;
+		const gchar *location = NULL;
 		gint length = 0;
 		gint track_number = 0;
 		gint disc_number = 0;
@@ -963,6 +964,9 @@
 				case RB_DAAP_CC_ASBR:
 					bitrate = g_value_get_int (&(meta_item->content));
 					break;
+				case RB_DAAP_CC_ASUL:
+					location = g_value_get_string (&(meta_item->content));
+					break;
 				default:
 					break;
 			}
@@ -989,6 +993,13 @@
 			rb_debug ("cannot create entry for daap track %s", uri);
 			continue;
 		}
+
+		/* DAAP location is only overridden if ASUL property is supplied */
+		if (location) {
+			g_free (uri);
+			uri = g_strdup (location);
+		}
+
 		g_hash_table_insert (priv->item_id_to_uri, GINT_TO_POINTER (item_id), rb_refstring_new (uri));
 		g_free (uri);
 
@@ -1050,6 +1061,11 @@
 		/* genre */
 		entry_set_string_prop (priv->db, entry, RHYTHMDB_PROP_GENRE, genre);
 
+		/* DAAP location is only overridden if ASUL property is supplied */
+		if (location) {
+			entry_set_string_prop (priv->db, entry, RHYTHMDB_PROP_LOCATION, location);
+		}
+
 		if (i % commit_batch == 0) {
 			connection->priv->progress = ((float)i / (float)returned_count);
 			if (priv->emit_progress_id != 0) {
@@ -1544,7 +1560,7 @@
 					"daap.songartist,daap.daap.songgenre,daap.songsize,"
 					"daap.songtime,daap.songtrackcount,daap.songtracknumber,"
 					"daap.songyear,daap.songformat,daap.songgenre,"
-					"daap.songbitrate,daap.songdiscnumber",
+					"daap.songbitrate,daap.songdiscnumber,daap.songdataurl",
 					priv->database_id,
 					priv->session_id,
 					priv->revision_number);
