diff --git a/src/org/labkey/test/components/html/BootstrapMenu.java b/src/org/labkey/test/components/html/BootstrapMenu.java
index aa99e003d2..1c011e544c 100644
--- a/src/org/labkey/test/components/html/BootstrapMenu.java
+++ b/src/org/labkey/test/components/html/BootstrapMenu.java
@@ -20,6 +20,7 @@
import org.labkey.test.components.react.BaseBootstrapMenu;
import org.labkey.test.util.LogMethod;
import org.labkey.test.util.LoggedParam;
+import org.openqa.selenium.StaleElementReferenceException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
@@ -110,6 +111,18 @@ public void clickSubMenu(int timeout, @LoggedParam String ... subMenuLabels)
getWrapper().scrollIntoView(item);
getWrapper().clickAndWait(item, timeout);
+
+ if (0 == timeout) // if we aren't waiting to navigate, wait for the menu to close
+ WebDriverWrapper.waitFor(()-> {
+ try
+ {
+ return !isExpanded();
+ }
+ catch (StaleElementReferenceException success)
+ {
+ return true;
+ }
+ }, 1000);
}
@LogMethod(quiet = true)