diff --git a/NEWS b/NEWS
index b184425d6..45b0ef242 100644
--- a/NEWS
+++ b/NEWS
@@ -4,6 +4,7 @@ ver 0.18.5 (20??/??/??)
   - fix crash on "stats" without db_file/music_directory
 * database
   - proxy: auto-reload statistics
+  - proxy: provide "db_update" in "stats" response
 * decoder
   - fluidsynth: auto-detect by default
 * fix ia64, mipsel and other little-endian architectures
diff --git a/src/db/ProxyDatabasePlugin.cxx b/src/db/ProxyDatabasePlugin.cxx
index d4861623f..00b5d445f 100644
--- a/src/db/ProxyDatabasePlugin.cxx
+++ b/src/db/ProxyDatabasePlugin.cxx
@@ -46,6 +46,9 @@ class ProxyDatabase : public Database {
 	struct mpd_connection *connection;
 	Directory *root;
 
+	/* this is mutable because GetStats() must be "const" */
+	mutable time_t update_stamp;
+
 public:
 	static Database *Create(const config_param &param,
 				Error &error);
@@ -72,8 +75,7 @@ public:
 			      Error &error) const override;
 
 	virtual time_t GetUpdateStamp() const override {
-		// TODO: implement
-		return 0;
+		return update_stamp;
 	}
 
 private:
@@ -242,6 +244,7 @@ ProxyDatabase::Open(Error &error)
 		return false;
 
 	root = Directory::NewRoot();
+	update_stamp = 0;
 
 	return true;
 }
@@ -636,6 +639,8 @@ ProxyDatabase::GetStats(const DatabaseSelection &selection,
 	if (stats2 == nullptr)
 		return CheckError(connection, error);
 
+	update_stamp = (time_t)mpd_stats_get_db_update_time(stats2);
+
 	stats.song_count = mpd_stats_get_number_of_songs(stats2);
 	stats.total_duration = mpd_stats_get_db_play_time(stats2);
 	stats.artist_count = mpd_stats_get_number_of_artists(stats2);