diff --git a/lib/rules/jsx-no-useless-fragment.js b/lib/rules/jsx-no-useless-fragment.js
index 641ba8239f..b1309e2347 100644
--- a/lib/rules/jsx-no-useless-fragment.js
+++ b/lib/rules/jsx-no-useless-fragment.js
@@ -172,7 +172,8 @@ module.exports = {
return function fix(fixer) {
const opener = node.type === 'JSXFragment' ? node.openingFragment : node.openingElement;
const closer = node.type === 'JSXFragment' ? node.closingFragment : node.closingElement;
- const childrenText = context.getSourceCode().getText().slice(opener.range[1], closer.range[0]);
+
+ const childrenText = opener.selfClosing ? '' : context.getSourceCode().getText().slice(opener.range[1], closer.range[0]);
return fixer.replaceText(node, trimLikeReact(childrenText));
};
diff --git a/tests/lib/rules/jsx-no-useless-fragment.js b/tests/lib/rules/jsx-no-useless-fragment.js
index 9349fd2a6d..9d6337cd7f 100644
--- a/tests/lib/rules/jsx-no-useless-fragment.js
+++ b/tests/lib/rules/jsx-no-useless-fragment.js
@@ -27,7 +27,7 @@ const parserOptions = {
const ruleTester = new RuleTester({parserOptions});
-ruleTester.run('jsx-no-uselses-fragment', rule, {
+ruleTester.run('jsx-no-useless-fragment', rule, {
valid: [
{
code: '<>