diff --git a/src/core/Frontend.h b/src/core/Frontend.h
index 9a364b71..7d4cdacc 100644
--- a/src/core/Frontend.h
+++ b/src/core/Frontend.h
@@ -646,13 +646,14 @@ public:
 	int GetNumOptionsCntrlConfigScreens();
 	int ConstructStatLine(int);
 
-	// New (inlined ones and the ones we can't believe it's not inlined)
-	inline void ThingsToDoBeforeGoingBack();
-	inline void ScrollUpListByOne();
-	inline void ScrollDownListByOne();
-	inline void PageUpList(bool);
-	inline void PageDownList(bool);
-	inline int8 GetPreviousPageOption();
+	// Those are either inlined in game, not in function yet, or I can't believe that they're not inlined.
+	// Names were made up by me.
+	void ThingsToDoBeforeGoingBack();
+	void ScrollUpListByOne();
+	void ScrollDownListByOne();
+	void PageUpList(bool);
+	void PageDownList(bool);
+	int8 GetPreviousPageOption();
 	
 	// uint8 GetNumberOfMenuOptions();
 };
diff --git a/src/extras/frontendoption.cpp b/src/extras/frontendoption.cpp
index 7b7ad229..6ab2801c 100644
--- a/src/extras/frontendoption.cpp
+++ b/src/extras/frontendoption.cpp
@@ -50,8 +50,13 @@ RemoveCustomFrontendOptions()
 	for (int i = 0; i < MENUPAGES; i++) {
 		for (int j = 0; j < NUM_MENUROWS; j++) {
 			if (aScreens[i].m_aEntries[j].m_Action == MENUACTION_TRIGGERFUNC) {
-				aScreens[i].m_aEntries[j].m_Action = MENUACTION_NOTHING;
-				aScreens[i].m_aEntries[j].m_EntryName[0] = '\0';
+				int k;
+				for (k = j; k < NUM_MENUROWS-1; k++) {
+					memcpy(&aScreens[i].m_aEntries[k], &aScreens[i].m_aEntries[k+1], sizeof(CMenuScreen::CMenuEntry));
+				}
+				aScreens[i].m_aEntries[k].m_Action = MENUACTION_NOTHING;
+				aScreens[i].m_aEntries[k].m_EntryName[0] = '\0';
+				j--;
 			}
 		}
 	}