diff --git a/src/menu.c b/src/menu.c
index 3ab957c..10becdb 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -1365,7 +1365,7 @@
 	    str = menu->dname;
 #ifdef FEAT_MULTI_LANG
 	    if (menu->en_dname == NULL)
-                should_advance = TRUE;
+		should_advance = TRUE;
 	}
 #endif
     else
@@ -1374,8 +1374,8 @@
 #ifdef FEAT_MULTI_LANG
     if (should_advance)
 #endif
-        /* Advance to next menu entry. */
-        menu = menu->next;
+	/* Advance to next menu entry. */
+	menu = menu->next;
 
 #ifdef FEAT_MULTI_LANG
     should_advance = !should_advance;
@@ -1445,18 +1445,18 @@
 	}
 	else
 #ifdef FEAT_MULTI_LANG
-        {
-            if (should_advance)
-                str = menu->en_dname;
-            else
-            {
+	{
+	    if (should_advance)
+		str = menu->en_dname;
+	    else
+	    {
 #endif
-                str = menu->dname;
+		str = menu->dname;
 #ifdef FEAT_MULTI_LANG
-                if (menu->en_dname == NULL)
-                    should_advance = TRUE;
-            }
-        }
+		if (menu->en_dname == NULL)
+		    should_advance = TRUE;
+	    }
+	}
 #endif
     }
     else
@@ -1465,8 +1465,8 @@
 #ifdef FEAT_MULTI_LANG
     if (should_advance)
 #endif
-        /* Advance to next menu entry. */
-        menu = menu->next;
+	/* Advance to next menu entry. */
+	menu = menu->next;
 
 #ifdef FEAT_MULTI_LANG
     should_advance = !should_advance;
@@ -1514,7 +1514,7 @@
     if (menu->en_name != NULL
 	    && (menu_namecmp(name,menu->en_name)
 		|| menu_namecmp(name,menu->en_dname)))
-        return TRUE;
+	return TRUE;
 #endif
     return menu_namecmp(name, menu->name) || menu_namecmp(name, menu->dname);
 }
