diff --git a/meshchatx/src/backend/markdown_renderer.py b/meshchatx/src/backend/markdown_renderer.py
index a31ee0c..7d50e75 100644
--- a/meshchatx/src/backend/markdown_renderer.py
+++ b/meshchatx/src/backend/markdown_renderer.py
@@ -72,10 +72,10 @@ class MarkdownRenderer:
# Bold and Italic
text = re.sub(r"\*\*\*(.*?)\*\*\*", r"\1", text)
text = re.sub(r"\*\*(.*?)\*\*", r"\1", text)
- text = re.sub(r"\*(.*?)\*", r"\1", text)
+ text = re.sub(r"\*(?!\s)(.*?)(?\1", text)
text = re.sub(r"___(.*?)___", r"\1", text)
text = re.sub(r"__(.*?)__", r"\1", text)
- text = re.sub(r"_(.*?)_", r"\1", text)
+ text = re.sub(r"_(?!\s)(.*?)(?\1", text)
# Strikethrough
text = re.sub(r"~~(.*?)~~", r"\1", text)
diff --git a/tests/backend/test_property_based.py b/tests/backend/test_property_based.py
index 0511c75..d80cc3b 100644
--- a/tests/backend/test_property_based.py
+++ b/tests/backend/test_property_based.py
@@ -1,12 +1,15 @@
import html
import json
import math
+import os
+import shutil
import pytest
from hypothesis import HealthCheck, given, settings
from hypothesis import strategies as st
from meshchatx.src.backend.colour_utils import ColourUtils
+from meshchatx.src.backend.identity_manager import IdentityManager
from meshchatx.src.backend.interface_config_parser import InterfaceConfigParser
from meshchatx.src.backend.lxmf_utils import convert_db_lxmf_message_to_dict
from meshchatx.src.backend.markdown_renderer import MarkdownRenderer
@@ -337,3 +340,60 @@ def test_markdown_renderer_headers(content):
result = MarkdownRenderer.render(input_text)
assert "