diff --git a/scribus/scribus.cpp b/scribus/scribus.cpp
index bf92a7a1d..4ffd9864e 100644
--- a/scribus/scribus.cpp
+++ b/scribus/scribus.cpp
@@ -1661,6 +1661,14 @@ void ScribusMainWindow::specialActionKeyEvent(int unicodevalue)
 		currItem = selItem->asTextFrame();
 	if (currItem == nullptr)
 		return;
+	if (unicodevalue == SpecialChars::SHYPHEN.unicode())
+	{
+		auto pos = currItem->itemText.cursorPosition();
+		if (pos > 0 && currItem->itemText.text(pos - 1) == SpecialChars::SHYPHEN)
+			return;
+		if (pos < currItem->itemText.length() && currItem->itemText.text(pos) == SpecialChars::SHYPHEN)
+			return;
+	}
 
 	if (unicodevalue!=-1)
 	{
