diff --git a/scribus/pageitem_textframe.cpp b/scribus/pageitem_textframe.cpp
index 6c8046c..2fe371a 100644
--- a/scribus/pageitem_textframe.cpp
+++ b/scribus/pageitem_textframe.cpp
@@ -4831,7 +4831,7 @@ void PageItem_TextFrame::deleteSelectedTextFromFrame(/*bool findNotes*/)
 		//delete text
 		for (int i=start; i <= stop; ++i)
 		{
-			Mark* mark = i < itemText.length() && itemText.hasMark(i)? itemText.mark(i) : NULL;
+			Mark* mark = (i < itemText.length() && itemText.hasMark(i))? itemText.mark(i) : NULL;
 			const CharStyle& curParent = itemText.charStyle(i);
 			if (i==stop || !curParent.equiv(lastParent) || (mark!=NULL && mark->isType(MARKNoteFrameType)))
 			{
@@ -4927,7 +4927,7 @@ void PageItem_TextFrame::deleteSelectedTextFromFrame(/*bool findNotes*/)
 		}
 	}
 	else //remove marks without undo
-		marksNum =removeMarksFromText(false);
+		marksNum = removeMarksFromText(false);
 	itemText.setCursorPosition( start );
 	//for sure text is still selected
 	itemText.select(start, stop - start - marksNum);
diff --git a/scribus/scribusdoc.cpp b/scribus/scribusdoc.cpp
index 0043dec..8bb933c 100644
--- a/scribus/scribusdoc.cpp
+++ b/scribus/scribusdoc.cpp
@@ -11131,7 +11131,10 @@ void ScribusDoc::itemSelection_FlipH()
 		{
 			PageItem* currItem=m_Selection->itemAt(a);
 			currItem->getBoundingRect(&ix, &iy, &iw, &ih);
+
+			// Twice the length to center it in the current selection
 			double dx =  ((gw / 2.0) -  ((ix - gx) + (iw - ix) / 2.0)) * 2.0;
+
 			if (currItem->rotation() != 0.0)
 			{
 				double ix2, iy2, iw2, ih2;
@@ -11145,7 +11148,7 @@ void ScribusDoc::itemSelection_FlipH()
 				currItem->flipImageH();
 			if (currItem->itemType() != PageItem::Line)
 				MirrorPolyH(currItem);
-			currItem->moveBy(dx, 0, true);
+			currItem->moveBy(dx, 0, false);
 			currItem->GrStartX = currItem->width() - currItem->GrStartX;
 			currItem->GrEndX = currItem->width() - currItem->GrEndX;
 			if (currItem->isArc())
