diff --git a/src/defaultV2-theme/blocks/sd-element.scss b/src/defaultV2-theme/blocks/sd-element.scss
index 8a22bcc20b..5d64868970 100644
--- a/src/defaultV2-theme/blocks/sd-element.scss
+++ b/src/defaultV2-theme/blocks/sd-element.scss
@@ -58,6 +58,9 @@
 
   .sv-string-viewer {
     white-space: normal;
+    &::before {
+      content: "\200B";
+    }
   }
 }
 
diff --git a/visualRegressionTests/tests/defaultV2/etalons/question-empty-title.png b/visualRegressionTests/tests/defaultV2/etalons/question-empty-title.png
new file mode 100644
index 0000000000..807da65e53
Binary files /dev/null and b/visualRegressionTests/tests/defaultV2/etalons/question-empty-title.png differ
diff --git a/visualRegressionTests/tests/defaultV2/question.ts b/visualRegressionTests/tests/defaultV2/question.ts
index a6c554128a..0385c9b165 100644
--- a/visualRegressionTests/tests/defaultV2/question.ts
+++ b/visualRegressionTests/tests/defaultV2/question.ts
@@ -41,6 +41,26 @@ frameworks.forEach(framework => {
     });
   });
 
+  test("Check question with empty title", async (t) => {
+    await wrapVisualTest(t, async (t, comparer) => {
+      await t.resizeWindow(1920, 1080);
+      await initSurvey(framework, {
+        questions: [
+          {
+            type: "text",
+            title: " ",
+            name: "question",
+            minWidth: "708px",
+            maxWidth: "708px",
+            width: "708px",
+          },
+        ]
+      });
+      const questionRoot = Selector(".sd-question");
+      await resetFocusToBody();
+      await takeElementScreenshot("question-empty-title.png", questionRoot, t, comparer);
+    });
+  });
   test("Check question num", async (t) => {
     await wrapVisualTest(t, async (t, comparer) => {
       await t.resizeWindow(1920, 1080);