diff --git a/helix-term/src/commands/typed.rs b/helix-term/src/commands/typed.rs
index 652106bd2ee1..ab12fab10cbd 100644
--- a/helix-term/src/commands/typed.rs
+++ b/helix-term/src/commands/typed.rs
@@ -164,9 +164,10 @@ fn buffer_close_by_ids_impl(
             cx.editor.switch(*first, Action::Replace);
         }
         bail!(
-            "{} unsaved buffer(s) remaining: {:?}",
+            "{} unsaved buffer{} remaining: {:?}",
             modified_names.len(),
-            modified_names
+            if modified_names.len() == 1 { "" } else { "s" },
+            modified_names,
         );
     }
 
@@ -658,9 +659,10 @@ pub(super) fn buffers_remaining_impl(editor: &mut Editor) -> anyhow::Result<()>
             editor.switch(*first, Action::Replace);
         }
         bail!(
-            "{} unsaved buffer(s) remaining: {:?}",
+            "{} unsaved buffer{} remaining: {:?}",
             modified_names.len(),
-            modified_names
+            if modified_names.len() == 1 { "" } else { "s" },
+            modified_names,
         );
     }
     Ok(())