diff --git a/src/UI/DocumentViews/AssLinesModel.cc b/src/UI/DocumentViews/AssLinesModel.cc
index d9a84a4378362d9effdf90946cd2f89602b8299d..18a8d2498050572e0d4e554c8bc401d3a3e1615f 100644
--- a/src/UI/DocumentViews/AssLinesModel.cc
+++ b/src/UI/DocumentViews/AssLinesModel.cc
@@ -2,6 +2,11 @@
 
 using namespace Vivy;
 
+AssLinesModel::Item::Item(Ass::LineWeakPtr linePtr) noexcept
+    : line(linePtr)
+{
+}
+
 quint64
 AssLinesModel::Item::getLineNumber() const noexcept
 {
@@ -33,8 +38,12 @@ AssLinesModel::Item::getLineStyle() const noexcept
     return "";
 }
 
-AssLinesModel::AssLinesModel(const QVector<Ass::LinePtr> &) noexcept
+AssLinesModel::AssLinesModel(const QVector<Ass::LinePtr> &lines) noexcept
+    : lineRealData(lines)
 {
+    childs.reserve(lines.count());
+    for (const Ass::LinePtr &line : lines)
+        childs.append(new Item(Ass::LineWeakPtr{ line }));
 }
 
 AssLinesModel::~AssLinesModel() noexcept
@@ -52,9 +61,6 @@ AssLinesModel::data(const QModelIndex &index, int role) const noexcept
 
     if (Qt::DisplayRole == role) {
         switch (static_cast<Item::Field>(index.column())) {
-        case Item::Field::Line:
-            return QString("%1").arg(line->getLineNumber());
-
         case Item::Field::Style:
             return line->getLineStyle();
 
@@ -132,7 +138,8 @@ AssLinesModel::columnCount(const QModelIndex & /* parent */) const noexcept
 }
 
 Qt::ItemFlags
-AssLinesModel::flags(const QModelIndex &) const noexcept
+AssLinesModel::flags(const QModelIndex &index) const noexcept
 {
-    return Qt::ItemIsSelectable;
+    [[maybe_unused]] const Item *item = static_cast<const Item *>(index.internalPointer());
+    return Qt::ItemIsSelectable | QAbstractItemModel::flags(index);
 }
diff --git a/src/UI/DocumentViews/AssLinesModel.hh b/src/UI/DocumentViews/AssLinesModel.hh
index 1852aef1b53efe8d0cefe3aad2c55db138a36d1a..62848968d141b05383622262d6c91738273a8086 100644
--- a/src/UI/DocumentViews/AssLinesModel.hh
+++ b/src/UI/DocumentViews/AssLinesModel.hh
@@ -20,9 +20,8 @@ private:
         ~Item() noexcept = default;
 
         enum class Field : int {
-            Line  = 0,
-            Style = 1,
-            Text  = 2,
+            Style,
+            Text,
 
             // Last, the count
             TotalFieldCount,
@@ -36,6 +35,8 @@ private:
         Ass::LineWeakPtr line;
     };
 
+    static inline const QStringList headers{ "Actor", "Text" };
+
 public:
     explicit AssLinesModel(const QVector<Ass::LinePtr> &) noexcept;
     ~AssLinesModel() noexcept;
@@ -53,7 +54,7 @@ public:
     Qt::ItemFlags flags(const QModelIndex &) const noexcept override;
 
 private:
-    QStringList headers{ "N°", "Actor", "Text" };
     QVector<Item *> childs;
+    const QVector<Ass::LinePtr> &lineRealData;
 };
 }