diff --git a/indra/llfilesystem/lldiskcache.cpp b/indra/llfilesystem/lldiskcache.cpp
index c0f10ac620098a63adf8c20c8afdc2828ccf282d..6b0bbaeb48b4e0661f3e8bb4c4af9bd352f7de61 100644
--- a/indra/llfilesystem/lldiskcache.cpp
+++ b/indra/llfilesystem/lldiskcache.cpp
@@ -31,6 +31,7 @@
  */
 
 #include "linden_common.h"
+#include "llapp.h"
 #include "llassettype.h"
 #include "lldir.h"
 #include <boost/filesystem.hpp>
@@ -371,17 +372,10 @@ LLPurgeDiskCacheThread::LLPurgeDiskCacheThread() :
 
 void LLPurgeDiskCacheThread::run()
 {
-    constexpr F64 CHECK_INTERVAL = 60;
-    mTimer.setTimerExpirySec(CHECK_INTERVAL);
-    mTimer.start();
+    constexpr long CHECK_INTERVAL = 60;
 
-    do
+    while (LLApp::instance()->sleep(std::chrono::seconds(CHECK_INTERVAL)))
     {
-        if (mTimer.checkExpirationAndReset(CHECK_INTERVAL))
-        {
-            LLDiskCache::instance().purge();
-        }
-
-        ms_sleep(100);
-    } while (!isQuitting());
+        LLDiskCache::instance().purge();
+    }
 }
diff --git a/indra/llfilesystem/lldiskcache.h b/indra/llfilesystem/lldiskcache.h
index 268fe92bcc6178134a185f928e5a866b91c496f2..1cbd2c58aa60efc1dcd3b959bd7abe72643b1b4b 100644
--- a/indra/llfilesystem/lldiskcache.h
+++ b/indra/llfilesystem/lldiskcache.h
@@ -194,8 +194,5 @@ class LLPurgeDiskCacheThread : public LLThread
 
 protected:
     void run() override;
-
-private:
-    LLTimer mTimer;
 };
 #endif // _LLDISKCACHE