diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryAdapter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryAdapter.kt
index 103613e66..1315cc660 100755
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryAdapter.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryAdapter.kt
@@ -86,12 +86,14 @@ class LibraryCategoryAdapter(view: LibraryCategoryView, val controller: LibraryC
         return currentItems.indexOfFirst { it.manga.id == manga.id }
     }
 
+    fun canDrag() = (mode != Mode.MULTI || (mode == Mode.MULTI && selectedItemCount == 1)) && searchText.isBlank()
+
     // EXH -->
     // Note that we cannot use FlexibleAdapter's built in filtering system as we cannot cancel it
     //   (well technically we can cancel it by invoking filterItems again but that doesn't work when
     //    we want to perform a no-op filter)
     suspend fun performFilter(scope: CoroutineScope) {
-        isLongPressDragEnabled = mode != Mode.MULTI && searchText.isBlank()
+        isLongPressDragEnabled = canDrag()
         lastFilterJob?.cancel()
         if (mangas.isNotEmpty() && searchText.isNotBlank()) {
             val savedSearchText = searchText
diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryView.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryView.kt
index 6dc3d8cd5..882cb7c88 100755
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryView.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryView.kt
@@ -37,7 +37,6 @@ import reactivecircus.flowbinding.recyclerview.scrollStateChanges
 import reactivecircus.flowbinding.swiperefreshlayout.refreshes
 import rx.android.schedulers.AndroidSchedulers
 import rx.subscriptions.CompositeSubscription
-import uy.kohesive.injekt.Injekt
 import uy.kohesive.injekt.api.get
 import uy.kohesive.injekt.injectLazy
 
@@ -57,6 +56,8 @@ class LibraryCategoryView @JvmOverloads constructor(context: Context, attrs: Att
 
     private val preferences: PreferencesHelper by injectLazy()
 
+    private val db: DatabaseHelper by injectLazy()
+
     /**
      * The fragment containing this view.
      */
@@ -146,7 +147,7 @@ class LibraryCategoryView @JvmOverloads constructor(context: Context, attrs: Att
             SelectableAdapter.Mode.SINGLE
         }
         // SY -->
-        adapter.isLongPressDragEnabled = canDrag()
+        adapter.isLongPressDragEnabled = adapter.canDrag()
         // SY <--
 
         // EXH -->
@@ -237,18 +238,16 @@ class LibraryCategoryView @JvmOverloads constructor(context: Context, attrs: Att
         // Get the manga list for this category.
         // SY -->
         val sortingMode = preferences.librarySortingMode().get()
-        adapter.isLongPressDragEnabled = canDrag()
+        adapter.isLongPressDragEnabled = adapter.canDrag()
         var mangaForCategory = event.getMangaForCategory(category).orEmpty()
         if (sortingMode == LibrarySort.DRAG_AND_DROP) {
-            if (category.name == "Default") {
-                category.mangaOrder = preferences.defaultMangaOrder().get().split("/")
+            if (category.id == 0) {
+                category.mangaOrder = preferences.defaultMangaOrder().get()
+                    .split("/")
                     .mapNotNull { it.toLongOrNull() }
             }
             mangaForCategory = mangaForCategory.sortedBy {
-                category.mangaOrder.indexOf(
-                    it.manga
-                        .id
-                )
+                category.mangaOrder.indexOf(it.manga.id)
             }
         }
         // SY <--
@@ -280,7 +279,7 @@ class LibraryCategoryView @JvmOverloads constructor(context: Context, attrs: Att
                 if (adapter.mode != SelectableAdapter.Mode.MULTI) {
                     adapter.mode = SelectableAdapter.Mode.MULTI
                     // SY -->
-                    adapter.isLongPressDragEnabled = canDrag()
+                    adapter.isLongPressDragEnabled = adapter.canDrag()
                     // SY <--
                 }
                 findAndToggleSelection(event.manga)
@@ -291,7 +290,7 @@ class LibraryCategoryView @JvmOverloads constructor(context: Context, attrs: Att
                 if (controller.selectedMangas.isEmpty()) {
                     adapter.mode = SelectableAdapter.Mode.SINGLE
                     // SY -->
-                    adapter.isLongPressDragEnabled = canDrag()
+                    adapter.isLongPressDragEnabled = adapter.canDrag()
                     // SY <--
                 }
             }
@@ -300,14 +299,12 @@ class LibraryCategoryView @JvmOverloads constructor(context: Context, attrs: Att
                 adapter.clearSelection()
                 lastClickPosition = -1
                 // SY -->
-                adapter.isLongPressDragEnabled = canDrag()
+                adapter.isLongPressDragEnabled = adapter.canDrag()
                 // SY <--
             }
         }
     }
 
-    private fun canDrag() = ((adapter.mode == SelectableAdapter.Mode.MULTI && adapter.selectedItemCount == 1) || adapter.mode != SelectableAdapter.Mode.MULTI) && adapter.searchText.isBlank()
-
     /**
      * Toggles the selection for the given manga and updates the view if needed.
      *
@@ -348,7 +345,7 @@ class LibraryCategoryView @JvmOverloads constructor(context: Context, attrs: Att
     override fun onItemLongClick(position: Int) {
         controller.createActionModeIfNeeded()
         // SY -->
-        adapter.isLongPressDragEnabled = canDrag()
+        adapter.isLongPressDragEnabled = adapter.canDrag()
         // SY <--
         when {
             lastClickPosition == -1 -> setSelection(position)
@@ -367,10 +364,10 @@ class LibraryCategoryView @JvmOverloads constructor(context: Context, attrs: Att
         controller.invalidateActionMode()
         val mangaIds = adapter.currentItems.mapNotNull { it.manga.id }
         category.mangaOrder = mangaIds
-        if (category.name == "Default") {
+        if (category.id == 0) {
             preferences.defaultMangaOrder().set(mangaIds.joinToString("/"))
         } else {
-            Injekt.get<DatabaseHelper>().insertCategory(category).asRxObservable().subscribe()
+            db.insertCategory(category).asRxObservable().subscribe()
         }
         if (preferences.librarySortingMode().get() != LibrarySort.DRAG_AND_DROP) {
             preferences.librarySortingAscending().set(true)