diff --git a/e-util/e-html-editor-selection.c b/e-util/e-html-editor-selection.c
index 57a52d4066..3343473caf 100644
--- a/e-util/e-html-editor-selection.c
+++ b/e-util/e-html-editor-selection.c
@@ -6756,12 +6756,20 @@ wrap_lines (EHTMLEditorSelection *selection,
check_next_node = FALSE;
prev_sibling = webkit_dom_node_get_previous_sibling (node);
if (prev_sibling && e_html_editor_node_is_selection_position_node (prev_sibling)) {
+ WebKitDOMNode *prev_br = NULL;
+
prev_sibling = webkit_dom_node_get_previous_sibling (prev_sibling);
/* Collapsed selection */
if (prev_sibling && e_html_editor_node_is_selection_position_node (prev_sibling))
prev_sibling = webkit_dom_node_get_previous_sibling (prev_sibling);
+ if (prev_sibling && WEBKIT_DOM_IS_HTMLBR_ELEMENT (prev_sibling) &&
+ element_has_class (WEBKIT_DOM_ELEMENT (prev_sibling), "-x-evo-wrap-br")) {
+ prev_br = prev_sibling;
+ prev_sibling = webkit_dom_node_get_previous_sibling (prev_sibling);
+ }
+
if (prev_sibling && WEBKIT_DOM_IS_CHARACTER_DATA (prev_sibling)) {
gchar *data;
glong text_length, length = 0;
@@ -6802,7 +6810,9 @@ wrap_lines (EHTMLEditorSelection *selection,
}
if (nd) {
- webkit_dom_node_insert_before (
+ if (prev_br)
+ remove_node (prev_br);
+ webkit_dom_node_insert_before (
webkit_dom_node_get_parent_node (nd),
WEBKIT_DOM_NODE (element),
nd,