diff --git a/src/condor_startd.V6/ResMgr.cpp b/src/condor_startd.V6/ResMgr.cpp
index 445013ab26..c0c67c7cf5 100644
--- a/src/condor_startd.V6/ResMgr.cpp
+++ b/src/condor_startd.V6/ResMgr.cpp
@@ -31,6 +31,7 @@
 #include "token_utils.h"
 #include <algorithm>
 #include "dc_schedd.h"
+#include "shortfile.h"
 
 #include "slot_builder.h"
 
@@ -1373,6 +1374,20 @@ ResMgr::send_update( int cmd, ClassAd* public_ad, ClassAd* private_ad,
 	int res = daemonCore->sendUpdates(cmd, public_ad, private_ad, nonblock, &m_token_requester,
 		DCTokenRequester::default_identity, "ADVERTISE_STARTD");
 
+	std::string ad_dir;
+	std::string ad_type = "Unknown";
+	std::string ad_name;
+	if (param(ad_dir, "UPDATE_AD_DIR") && public_ad->LookupString(ATTR_NAME, ad_name)) {
+		public_ad->LookupString(ATTR_MY_TYPE, ad_type);
+		std::string filename = ad_dir + "/" + ad_type + "." + ad_name;
+		std::string tmpfilename = filename + ".tmp";
+		std::string contents;
+		sPrintAd(contents, *public_ad);
+		if (htcondor::writeShortFile(tmpfilename, contents)) {
+			rotate_file(tmpfilename.c_str(), filename.c_str());
+		}
+	}
+
 	if (first_time) {
 		first_time = false;
 		dprintf( D_ALWAYS, "Initial update sent to collector(s)\n");
