diff --git a/src/isolator/hei_isolation_node.hpp b/src/isolator/hei_isolation_node.hpp
index 782ac7f..4cf44dd 100644
--- a/src/isolator/hei_isolation_node.hpp
+++ b/src/isolator/hei_isolation_node.hpp
@@ -48,24 +48,10 @@
     ~IsolationNode() = default;
 
   private:
-    // This is needed to allow the flyweights to use the copy constructor, but
-    // not allow it to be used in general.
-    friend class Flyweight<IsolationNode>;
+    /** @brief Copy constructor. */
+    IsolationNode(const IsolationNode&) = delete;
 
-    /**
-     * @brief Copy constructor.
-     *
-     * Needed by Flyweight class, but should not be allowed in general.
-     */
-    IsolationNode(const IsolationNode&) = default;
-
-    /**
-     * @brief Explicitly disables assignment operator.
-     *
-     * This is redundant since the compilier will implicitly delete this because
-     * of the constant instance variables, but helps communicate it is not
-     * allowed.
-     */
+    /** @brief Assignment operator. */
     IsolationNode& operator=(const IsolationNode&) = delete;
 
   private: // Instance variables
diff --git a/src/isolator/hei_isolator.cpp b/src/isolator/hei_isolator.cpp
index db5668e..e4266b0 100644
--- a/src/isolator/hei_isolator.cpp
+++ b/src/isolator/hei_isolator.cpp
@@ -37,15 +37,15 @@
 
     // Remove all of the IsolationNode objects stored in the flyweights. This
     // must be done before removing the HardwareRegister objects
-    Flyweight<IsolationNode>::getSingleton().clear();
+    Flyweight<const IsolationNode>::getSingleton().clear();
 
     // Must flush the hardware register cache before deleting any
     // HardwareRegister objects.
     HardwareRegister::flushAll();
 
     // Remove all of the HardwareRegister objects stored in the flyweights.
-    Flyweight<ScomRegister>::getSingleton().clear();
-    Flyweight<IdScomRegister>::getSingleton().clear();
+    Flyweight<const ScomRegister>::getSingleton().clear();
+    Flyweight<const IdScomRegister>::getSingleton().clear();
 }
 
 void Isolator::isolate(const std::vector<Chip>& i_chipList,
