diff --git a/web/zebra-spaces.html b/web/zebra-spaces.html
index 3aba94f..14822d7 100644
--- a/web/zebra-spaces.html
+++ b/web/zebra-spaces.html
@@ -2267,6 +2267,11 @@ $('music-mode').addEventListener('change', async (e) => {
if (navigator.mediaDevices && navigator.mediaDevices.addEventListener){
navigator.mediaDevices.addEventListener('devicechange', refreshMicList);
}
+/* initial population so the dropdown lists the user's inputs before they
+ * enter a space (matches what the camera-select does). Labels are blank
+ * until mic permission is granted; deviceIds still populate so the user
+ * sees how many inputs exist. */
+refreshMicList();
/* ==================================================================
* leave / entry buttons
@@ -2338,8 +2343,8 @@ logLine('', 'ready โ pick a handle, type a rendezvous code, enter the space');