diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/ignoreitem/IgnoreItemFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/ignoreitem/IgnoreItemFragment.kt
index 7c7f3241fa00db20d5b8783275eb40bf3ffdad99..90034f76ba9b336fe62c8a1a18617caf2fa8757f 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/ignoreitem/IgnoreItemFragment.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/ignoreitem/IgnoreItemFragment.kt
@@ -124,7 +124,7 @@ class IgnoreItemFragment : SettingsFragment() {
     return view
   }
 
-  override fun onSave() = item?.let { data ->
+  override fun onSave() = item.let { data ->
     val intent = Intent()
     intent.putExtra("old", data)
     val new = IgnoreListManager.IgnoreListItem(
@@ -139,6 +139,6 @@ class IgnoreItemFragment : SettingsFragment() {
     intent.putExtra("new", new)
     requireActivity().setResult(Activity.RESULT_OK, intent)
     true
-  } ?: false
+  }
 
 }
diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/ignorelist/IgnoreListFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/ignorelist/IgnoreListFragment.kt
index 751141e0d0d178f5ffe59f6b18c70bc64b28b655..ce51560e6c6f027cc03a416909a6eadbe8c6d249 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/ignorelist/IgnoreListFragment.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/ignorelist/IgnoreListFragment.kt
@@ -47,6 +47,11 @@ class IgnoreListFragment : SettingsFragment() {
     helper = ItemTouchHelper(callback)
     helper.attachToRecyclerView(list)
 
+    add.setOnClickListener {
+      val intent = Intent(requireContext(), IgnoreItemActivity::class.java)
+      startActivityForResult(intent, REQUEST_CREATE_RULE)
+    }
+
     viewModel.ignoreListManager
       .filter(Optional<IgnoreListManager>::isPresent)
       .map(Optional<IgnoreListManager>::get)
@@ -77,14 +82,18 @@ class IgnoreListFragment : SettingsFragment() {
           val oldRule = data.getSerializableExtra("old") as? IgnoreListManager.IgnoreListItem
           val newRule = data.getSerializableExtra("new") as? IgnoreListManager.IgnoreListItem
 
-          println(oldRule)
-          println(newRule)
-
           if (oldRule != null && newRule != null) {
             val index = adapter.indexOf(oldRule.ignoreRule)
             adapter.replace(index, newRule)
           }
         }
+        REQUEST_CREATE_RULE -> {
+          val newRule = data.getSerializableExtra("new") as? IgnoreListManager.IgnoreListItem
+
+          if (newRule != null) {
+            adapter.add(newRule)
+          }
+        }
       }
     }
   }
@@ -97,5 +106,6 @@ class IgnoreListFragment : SettingsFragment() {
 
   companion object {
     private const val REQUEST_UPDATE_RULE = 1
+    private const val REQUEST_CREATE_RULE = 2
   }
 }
diff --git a/app/src/main/res/layout/settings_ignorelist.xml b/app/src/main/res/layout/settings_ignorelist.xml
index f389ea6379d417df8bf39c5fe741a6e759dee7c1..183923f7f8b79db8ed228278618779771719ffff 100644
--- a/app/src/main/res/layout/settings_ignorelist.xml
+++ b/app/src/main/res/layout/settings_ignorelist.xml
@@ -19,7 +19,6 @@
     android:layout_height="wrap_content"
     android:layout_gravity="end|bottom"
     android:layout_margin="16dp"
-    android:visibility="gone"
     app:fabSize="normal"
     app:srcCompat="@drawable/ic_add"
     app:tint="?colorTextPrimaryInverse" />