diff --git a/lib/rfd.rb b/lib/rfd.rb
index <HASH>..<HASH> 100644
--- a/lib/rfd.rb
+++ b/lib/rfd.rb
@@ -427,7 +427,7 @@ module Rfd
     end
 
     def toggle_mark
-      mvwaddstr @row % maxy, 0, current_item.toggle_mark unless %w(. ..).include? current_item.name
+      mvwaddstr @row % maxy, 0, current_item.current_mark if current_item.toggle_mark
     end
 
     def process_command_line(prompt: ':')
diff --git a/lib/rfd/item.rb b/lib/rfd/item.rb
index <HASH>..<HASH> 100644
--- a/lib/rfd/item.rb
+++ b/lib/rfd/item.rb
@@ -120,8 +120,10 @@ module Rfd
     end
 
     def toggle_mark
-      @marked = !@marked
-      current_mark
+      unless %w(. ..).include? name
+        @marked = !@marked
+        true
+      end
     end
 
     def marked?
Separate toggling mark action and mark expression