diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp
index 11813a2a8a..65b5fc9d69 100644
--- a/src/citra_qt/main.cpp
+++ b/src/citra_qt/main.cpp
@@ -297,6 +297,10 @@ void GMainWindow::StoreRecentFile(const QString& filename)
     QStringList recent_files = settings.value("recentFiles").toStringList();
     recent_files.prepend(filename);
     recent_files.removeDuplicates();
+    while (recent_files.size() > max_recent_files_item) {
+        recent_files.removeLast();
+    }
+
     settings.setValue("recentFiles", recent_files);
 
     UpdateRecentFiles();