Index: scribus/scribus.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/scribus.cpp,v
retrieving revision 1.218
diff -u -p -r1.218 scribus.cpp
--- scribus/scribus.cpp	3 Sep 2004 21:01:51 -0000	1.218
+++ scribus/scribus.cpp	4 Sep 2004 12:03:21 -0000
@@ -1642,27 +1642,19 @@ void ScribusApp::keyPressEvent(QKeyEvent
 								}
 							}
 						}
-						if (b->CPos == static_cast<int>(b->Ptext.count()))
+						if ((b->CPos > 0) && (b->CPos == static_cast<int>(b->Ptext.count())))
 						{
 							if (b->Ptext.at(b->CPos-1)->cstyle & 256)
 							{
 								b->CPos -= 1;
-								while (b->Ptext.at(b->CPos)->cstyle & 256)
-								{
+								while ((b->CPos > 0) && (b->Ptext.at(b->CPos)->cstyle & 256))
 									b->CPos--;
-									if (b->CPos == 0)
-										break;
-								}
 							}
 						}
 						else
 						{
-							while ((b->Ptext.at(b->CPos)->cstyle & 256) && (b->CPos > 0))
-							{
+							while ((b->CPos > 0) && (b->Ptext.at(b->CPos)->cstyle & 256))
 								b->CPos--;
-								if (b->CPos == 0)
-									break;
-							}
 						}
 						if ( b->HasSel )
 							doc->ActPage->RefreshItem(b, true);
