diff --git a/documentation/docs/03-template-syntax/12-bind.md b/documentation/docs/03-template-syntax/12-bind.md
index 50e543be66..91bd59665b 100644
--- a/documentation/docs/03-template-syntax/12-bind.md
+++ b/documentation/docs/03-template-syntax/12-bind.md
@@ -95,7 +95,7 @@ Since 5.6.0, if an ` ` has a `defaultValue` and is part of a form, it will
## ` `
-Checkbox can be bound with `bind:checked`:
+Checkbox inputs can be bound with `bind:checked`:
```svelte
diff --git a/packages/svelte/src/compiler/phases/2-analyze/visitors/BindDirective.js b/packages/svelte/src/compiler/phases/2-analyze/visitors/BindDirective.js
index 497c4c226d..47aa79c77d 100644
--- a/packages/svelte/src/compiler/phases/2-analyze/visitors/BindDirective.js
+++ b/packages/svelte/src/compiler/phases/2-analyze/visitors/BindDirective.js
@@ -70,7 +70,7 @@ export function BindDirective(node, context) {
e.bind_invalid_target(
node,
node.name,
- ` - for , use 'group' binding`
+ ` ${type?.value[0].data === 'radio' ? ` — for , use 'group' binding` : ''}`
);
}
diff --git a/packages/svelte/tests/validator/samples/binding-input-checked/errors.json b/packages/svelte/tests/validator/samples/binding-input-checked/errors.json
index ec6437030f..574b25e06f 100644
--- a/packages/svelte/tests/validator/samples/binding-input-checked/errors.json
+++ b/packages/svelte/tests/validator/samples/binding-input-checked/errors.json
@@ -1,7 +1,7 @@
[
{
"code": "bind_invalid_target",
- "message": "`bind:checked` can only be used with - for , use 'group' binding",
+ "message": "`bind:checked` can only be used with ",
"start": {
"line": 5,
"column": 7
diff --git a/packages/svelte/tests/validator/samples/binding-radio-input-checked/errors.json b/packages/svelte/tests/validator/samples/binding-radio-input-checked/errors.json
new file mode 100644
index 0000000000..53629ce300
--- /dev/null
+++ b/packages/svelte/tests/validator/samples/binding-radio-input-checked/errors.json
@@ -0,0 +1,14 @@
+[
+ {
+ "code": "bind_invalid_target",
+ "message": "`bind:checked` can only be used with — for , use 'group' binding",
+ "start": {
+ "line": 5,
+ "column": 20
+ },
+ "end": {
+ "line": 5,
+ "column": 38
+ }
+ }
+]
diff --git a/packages/svelte/tests/validator/samples/binding-radio-input-checked/input.svelte b/packages/svelte/tests/validator/samples/binding-radio-input-checked/input.svelte
new file mode 100644
index 0000000000..67e7b77a3a
--- /dev/null
+++ b/packages/svelte/tests/validator/samples/binding-radio-input-checked/input.svelte
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file