diff --git a/src/services/utilities.ts b/src/services/utilities.ts
index 264cad7e557..d63e21d476f 100644
--- a/src/services/utilities.ts
+++ b/src/services/utilities.ts
@@ -1827,7 +1827,9 @@ namespace ts {
return preferences.quotePreference === "single" ? QuotePreference.Single : QuotePreference.Double;
}
else {
- const firstModuleSpecifier = sourceFile.imports && find(sourceFile.imports, isStringLiteral);
+ // ignore synthetic import added when importHelpers: true
+ const firstModuleSpecifier = sourceFile.imports &&
+ find(sourceFile.imports, n => isStringLiteral(n) && !nodeIsSynthesized(n.parent)) as StringLiteral;
return firstModuleSpecifier ? quotePreferenceFromString(firstModuleSpecifier, sourceFile) : QuotePreference.Double;
}
}
diff --git a/tests/cases/fourslash/importFixes_quotePreferenceDouble_importHelpers.ts b/tests/cases/fourslash/importFixes_quotePreferenceDouble_importHelpers.ts
new file mode 100644
index 00000000000..9dec6b13adc
--- /dev/null
+++ b/tests/cases/fourslash/importFixes_quotePreferenceDouble_importHelpers.ts
@@ -0,0 +1,16 @@
+///
+
+// @importHelpers: true
+// @filename: /a.ts
+////export default () => {};
+
+// @filename: /b.ts
+////export default () => {};
+
+// @filename: /test.ts
+////import a from "./a";
+////[|b|];
+
+goTo.file("/test.ts");
+verify.importFixAtPosition([`import b from "./b";
+b`]);
diff --git a/tests/cases/fourslash/importFixes_quotePreferenceSingle_importHelpers.ts b/tests/cases/fourslash/importFixes_quotePreferenceSingle_importHelpers.ts
new file mode 100644
index 00000000000..a8097f6a841
--- /dev/null
+++ b/tests/cases/fourslash/importFixes_quotePreferenceSingle_importHelpers.ts
@@ -0,0 +1,16 @@
+///
+
+// @importHelpers: true
+// @filename: /a.ts
+////export default () => {};
+
+// @filename: /b.ts
+////export default () => {};
+
+// @filename: /test.ts
+////import a from './a';
+////[|b|];
+
+goTo.file("/test.ts");
+verify.importFixAtPosition([`import b from './b';
+b`]);