diff --git a/indra/llcommon/hbxxh.h b/indra/llcommon/hbxxh.h
index 236716722ad0643ce8e617b19ddfe6a8a4a2f087..9c0e9cf172b8ff47f68d924ca91ceabff0e257f8 100644
--- a/indra/llcommon/hbxxh.h
+++ b/indra/llcommon/hbxxh.h
@@ -96,6 +96,15 @@ class HBXXH64
         }
     }
 
+    // Make this class no-copy (it would be possible, with custom copy
+    // operators, but it is not trivially copyable, because of the mState
+    // pointer): it does not really make sense to allow copying it anyway,
+    // since all we care about is the resulting digest (so you should only
+    // need and care about storing/copying the digest and not a class
+    // instance).
+    HBXXH64(const HBXXH64&) noexcept = delete;
+    HBXXH64& operator=(const HBXXH64&) noexcept = delete;
+
     ~HBXXH64();
 
     void update(const void* buffer, size_t len);
@@ -199,6 +208,15 @@ class HBXXH128
         }
     }
 
+    // Make this class no-copy (it would be possible, with custom copy
+    // operators, but it is not trivially copyable, because of the mState
+    // pointer): it does not really make sense to allow copying it anyway,
+    // since all we care about is the resulting digest (so you should only
+    // need and care about storing/copying the digest and not a class
+    // instance).
+    HBXXH128(const HBXXH128&) noexcept = delete;
+    HBXXH128& operator=(const HBXXH128&) noexcept = delete;
+
     ~HBXXH128();
 
     void update(const void* buffer, size_t len);