diff --git a/resources/qml/Completer.qml b/resources/qml/Completer.qml
index b4061f8da5da496d07eb1913c3b08478dbf6283b..2fb083e8afb9fd30edc79d6bf2c862e213734db8 100644
--- a/resources/qml/Completer.qml
+++ b/resources/qml/Completer.qml
@@ -11,7 +11,7 @@ import im.nheko 1.0
 Popup {
     id: popup
 
-    property int currentIndex: -1
+    property alias currentIndex: listView.currentIndex
     property string completerName
     property var completer
     property bool bottomToTop: true
@@ -96,6 +96,7 @@ Popup {
         verticalLayoutDirection: popup.bottomToTop ? ListView.BottomToTop : ListView.TopToBottom
         spacing: rowSpacing
         pixelAligned: true
+        highlightFollowsCurrentItem: true
 
         delegate: Rectangle {
             property variant modelData: model
diff --git a/src/CompletionProxyModel.h b/src/CompletionProxyModel.h
index 5c34826b3feee9e00a6b39564d2b6e73e5ea1635..a862176eb446fa389d7961b753eb6d263dd89487 100644
--- a/src/CompletionProxyModel.h
+++ b/src/CompletionProxyModel.h
@@ -151,7 +151,7 @@ class CompletionProxyModel : public QAbstractProxyModel
 public:
     CompletionProxyModel(QAbstractItemModel *model,
                          int max_mistakes       = 2,
-                         size_t max_completions = 70,
+                         size_t max_completions = 30,
                          QObject *parent        = nullptr);
 
     void invalidate();