diff --git a/src/services/formatting/rules.ts b/src/services/formatting/rules.ts
index ba09773eb9b..76a0d348531 100644
--- a/src/services/formatting/rules.ts
+++ b/src/services/formatting/rules.ts
@@ -95,6 +95,7 @@ namespace ts.formatting {
// Also should not apply to })
rule("SpaceBetweenCloseBraceAndElse", SyntaxKind.CloseBraceToken, SyntaxKind.ElseKeyword, [isNonJsxSameLineTokenContext], RuleAction.InsertSpace),
rule("SpaceBetweenCloseBraceAndWhile", SyntaxKind.CloseBraceToken, SyntaxKind.WhileKeyword, [isNonJsxSameLineTokenContext], RuleAction.InsertSpace),
+ rule("NoSpaceBetweenEmptyBraceBrackets", SyntaxKind.OpenBraceToken, SyntaxKind.CloseBraceToken, [isNonJsxSameLineTokenContext, isObjectContext], RuleAction.DeleteSpace),
// Add a space after control dec context if the next character is an open bracket ex: 'if (false)[a, b] = [1, 2];' -> 'if (false) [a, b] = [1, 2];'
rule("SpaceAfterConditionalClosingParen", SyntaxKind.CloseParenToken, SyntaxKind.OpenBracketToken, [isControlDeclContext], RuleAction.InsertSpace),
@@ -269,9 +270,9 @@ namespace ts.formatting {
// Insert a space after { and before } in single-line contexts, but remove space from empty object literals {}.
rule("SpaceAfterOpenBrace", SyntaxKind.OpenBraceToken, anyToken, [isOptionEnabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"), isBraceWrappedContext], RuleAction.InsertSpace),
rule("SpaceBeforeCloseBrace", anyToken, SyntaxKind.CloseBraceToken, [isOptionEnabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"), isBraceWrappedContext], RuleAction.InsertSpace),
+ rule("NoSpaceBetweenEmptyBraceBrackets", SyntaxKind.OpenBraceToken, SyntaxKind.CloseBraceToken, [isNonJsxSameLineTokenContext, isObjectContext], RuleAction.DeleteSpace),
rule("NoSpaceAfterOpenBrace", SyntaxKind.OpenBraceToken, anyToken, [isOptionDisabled("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"), isNonJsxSameLineTokenContext], RuleAction.DeleteSpace),
rule("NoSpaceBeforeCloseBrace", anyToken, SyntaxKind.CloseBraceToken, [isOptionDisabled("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"), isNonJsxSameLineTokenContext], RuleAction.DeleteSpace),
- rule("NoSpaceBetweenEmptyBraceBrackets", SyntaxKind.OpenBraceToken, SyntaxKind.CloseBraceToken, [isOptionDisabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingEmptyBraces"), isNonJsxSameLineTokenContext, isObjectContext], RuleAction.DeleteSpace),
// Insert a space after opening and before closing empty brace brackets
rule("SpaceBetweenEmptyBraceBrackets", SyntaxKind.OpenBraceToken, SyntaxKind.CloseBraceToken, [isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingEmptyBraces")], RuleAction.InsertSpace),
diff --git a/tests/cases/fourslash/formattingNoSpaceBetweenEmptyBraceBrackets.ts b/tests/cases/fourslash/formattingNoSpaceBetweenEmptyBraceBrackets.ts
deleted file mode 100644
index bcf57c6731f..00000000000
--- a/tests/cases/fourslash/formattingNoSpaceBetweenEmptyBraceBrackets.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-///
-
-////const a = { };
-////const b = {};
-
-format.setOption("insertSpaceAfterOpeningAndBeforeClosingEmptyBraces", false);
-format.document();
-verify.currentFileContentIs(
-`const a = {};
-const b = {};`
-);
diff --git a/tests/cases/fourslash/formattingSpaceBetweenEmptyBraceBrackets.ts b/tests/cases/fourslash/formattingSpaceBetweenEmptyBraceBrackets.ts
deleted file mode 100644
index 67d369ce1df..00000000000
--- a/tests/cases/fourslash/formattingSpaceBetweenEmptyBraceBrackets.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-///
-
-////const a = { };
-////const b = {};
-
-format.setOption("insertSpaceAfterOpeningAndBeforeClosingEmptyBraces", true);
-format.document();
-verify.currentFileContentIs(
-`const a = { };
-const b = { };`
-);