diff --git a/specter/include/specter/Icon.hpp b/specter/include/specter/Icon.hpp
index 78187a220..bebb20b1e 100644
--- a/specter/include/specter/Icon.hpp
+++ b/specter/include/specter/Icon.hpp
@@ -50,7 +50,13 @@ public:
             for (int r=0 ; r<ROWS ; ++r)
                 m_icons[c][r] = MakeIcon(c, r);
     }
-    void destroyAtlas() { m_tex.reset(); }
+    void destroyAtlas()
+    {
+        for (int c=0 ; c<COLS ; ++c)
+            for (int r=0 ; r<ROWS ; ++r)
+                m_icons[c][r].m_tex.reset();
+        m_tex.reset();
+    }
     Icon& getIcon(size_t c, size_t r) {return m_icons[c][r];}
 };
 
diff --git a/specter/zeus b/specter/zeus
index f0df55123..0b8af4b75 160000
--- a/specter/zeus
+++ b/specter/zeus
@@ -1 +1 @@
-Subproject commit f0df551237b8d1bda3e626b614284b6b4cac1a59
+Subproject commit 0b8af4b75d31d8e09898972235b0e1f17221e19b