diff --git a/indra/llcommon/llsingleton.h b/indra/llcommon/llsingleton.h
index 859e271e26c661a88a726456bcaf128d61f83672..d4938ed9b74fda61aac1479b627759620e57d20b 100644
--- a/indra/llcommon/llsingleton.h
+++ b/indra/llcommon/llsingleton.h
@@ -492,6 +492,17 @@ private:                                                                \
     friend class LLSingleton<DERIVED_CLASS>;                            \
     DERIVED_CLASS()
 
+/**
+ * A slight variance from the above, but includes the "override" keyword
+ */
+#define LLSINGLETON_C11(DERIVED_CLASS)                                  \
+private:                                                                \
+    /* implement LLSingleton pure virtual method whose sole purpose */  \
+    /* is to remind people to use this macro */                         \
+    virtual void you_must_use_LLSINGLETON_macro() override {}           \
+    friend class LLSingleton<DERIVED_CLASS>;                            \
+    DERIVED_CLASS()
+
 /**
  * Use LLSINGLETON_EMPTY_CTOR(Foo); at the start of an LLSingleton<Foo>
  * subclass body when the constructor is trivial:
@@ -510,4 +521,8 @@ private:                                                                \
     /* LLSINGLETON() is carefully implemented to permit exactly this */ \
     LLSINGLETON(DERIVED_CLASS) {}
 
+#define LLSINGLETON_EMPTY_CTOR_C11(DERIVED_CLASS)                       \
+    /* LLSINGLETON() is carefully implemented to permit exactly this */ \
+    LLSINGLETON_C11(DERIVED_CLASS) {}
+
 #endif
diff --git a/indra/newview/llestateinfomodel.h b/indra/newview/llestateinfomodel.h
index 85f9f91d862ea87e0c3e1220f4e6444f0f681136..2c89a85500829cd9b485a9dc20933abeddf44734 100644
--- a/indra/newview/llestateinfomodel.h
+++ b/indra/newview/llestateinfomodel.h
@@ -41,7 +41,7 @@ class LLViewerRegion;
  */
 class LLEstateInfoModel : public LLSingleton<LLEstateInfoModel>
 {
-	LLSINGLETON(LLEstateInfoModel);
+    LLSINGLETON_C11(LLEstateInfoModel);
 	LOG_CLASS(LLEstateInfoModel);
 
 public: