diff --git a/frontend/src/components/layout/Header.js b/frontend/src/components/layout/Header.js
index b1692ad196..9b661146ab 100644
--- a/frontend/src/components/layout/Header.js
+++ b/frontend/src/components/layout/Header.js
@@ -182,8 +182,44 @@ function OEHeader(props) {
setSearchBar(!searchBar);
};
const generateMenuItems = (menuItem, index, level, path) => {
- if (menuItem.menu.isActive) {
- if (level === 0 && menuItem.childMenus.length > 0) {
+ if (!menuItem.menu.isActive) {
+ return ;
+ }
+
+ const activeChildMenus = menuItem.childMenus.filter(
+ (child) => child.menu.isActive,
+ );
+
+ if (level === 0) {
+ // For top level items with exactly one active child, render direct link
+ if (activeChildMenus.length === 1) {
+ const singleChildMenu = activeChildMenus[0];
+ return (
+
+ );
+ }
+
+ // Multiple active children - show dropdown
+ if (menuItem.childMenus.length > 0) {
return (