diff --git a/r5dev/gameui/IConsole.cpp b/r5dev/gameui/IConsole.cpp
index 76feedf0..5ab4187e 100644
--- a/r5dev/gameui/IConsole.cpp
+++ b/r5dev/gameui/IConsole.cpp
@@ -458,6 +458,7 @@ void CConsole::FindFromPartial(void)
         }
         else { break; }
     }
+    std::sort(m_vsvSuggest.begin(), m_vsvSuggest.end(), CheckStringLexicographically);
 }
 
 //-----------------------------------------------------------------------------
diff --git a/r5dev/public/include/utility.h b/r5dev/public/include/utility.h
index 10de65ef..18a36ac8 100644
--- a/r5dev/public/include/utility.h
+++ b/r5dev/public/include/utility.h
@@ -25,5 +25,6 @@ string StringEscape(const string& svInput);
 string StringUnescape(const string& svInput);
 vector<int> StringToBytes(const string& svInput, bool bNullTerminator);
 vector<int> PatternToBytes(const string& svInput);
+bool CheckStringLexicographically(const string& svA, const string& svB);
 
 /////////////////////////////////////////////////////////////////////////////
diff --git a/r5dev/public/utility.cpp b/r5dev/public/utility.cpp
index 18fec9ce..639f4fc4 100644
--- a/r5dev/public/utility.cpp
+++ b/r5dev/public/utility.cpp
@@ -441,3 +441,10 @@ vector<int> PatternToBytes(const string& svInput)
     }
     return vBytes;
 };
+
+///////////////////////////////////////////////////////////////////////////////
+// For comparing input strings lexicographically
+bool CheckStringLexicographically(const string& svA, const string& svB)
+{
+    return svA < svB;
+}