diff --git a/extern/glow-extras b/extern/glow-extras
index eeae4d08494b9ac58765bd33097a8610a0ecff32..b2b528eb65352c877ef76665d67ce5d045e40a7d 160000
--- a/extern/glow-extras
+++ b/extern/glow-extras
@@ -1 +1 @@
-Subproject commit eeae4d08494b9ac58765bd33097a8610a0ecff32
+Subproject commit b2b528eb65352c877ef76665d67ce5d045e40a7d
diff --git a/extern/polymesh b/extern/polymesh
index 5ee0b30d132202fecefb7f777f2287fdf1daa13b..62677179123a61649755b05e86a8ed68adee81e9 160000
--- a/extern/polymesh
+++ b/extern/polymesh
@@ -1 +1 @@
-Subproject commit 5ee0b30d132202fecefb7f777f2287fdf1daa13b
+Subproject commit 62677179123a61649755b05e86a8ed68adee81e9
diff --git a/samples/wip/viewer/main.cc b/samples/wip/viewer/main.cc
index e7f52890b003294c4aac66f2c0cba942d95d203f..201650b58ff61167a4e0a7b6d0fb492a9d7c47f3 100644
--- a/samples/wip/viewer/main.cc
+++ b/samples/wip/viewer/main.cc
@@ -37,7 +37,7 @@ int main()
     // prepare some data
     pm::vertex_attribute<glm::vec2> uv = pos.map([](tg::pos3 v) { return glm::vec2(v.x, v.y); });
     pm::vertex_attribute<float> vdata = pos.map([](tg::pos3 v) { return v.y; });
-    pm::vertex_attribute<tg::vec3> vnormals = vertex_normals_by_area(m, pos);
+    pm::vertex_attribute<tg::vec3> vnormals = vertex_normals_by_area(pos);
     pm::face_attribute<float> fdata = m.faces().map([&](pm::face_handle f) { return f.vertices().avg(pos).z; });
     glow::SharedTexture2D tex = glow::Texture2D::createFromFile(dataPath + "textures/tiles.color.png", glow::ColorSpace::sRGB);
     glow::AsyncTexture2D atex = glow::AsyncTextureLoader::load2D(dataPath + "textures/tiles.color.png", glow::ColorSpace::sRGB);