Index: dialog.cpp
===================================================================
--- dialog.cpp	(revision 5989)
+++ dialog.cpp	(working copy)
@@ -3610,6 +3610,8 @@
 
 	Item[CurRB]->Selected=1;
 
+	unsigned ret = CurRB, focus = FocusPos;
+
 	/* $ 28.07.2000 SVS
 	  При изменении состояния каждого элемента посылаем сообщение
 	  посредством функции SendDlgMessage - в ней делается все!
@@ -3620,10 +3622,10 @@
 		// вернем назад, если пользователь не захотел...
 		Item[CurRB]->Selected=0;
 		Item[PrevRB]->Selected=1;
-		return PrevRB;
+		ret = PrevRB;
 	}
 
-	return CurRB;
+	return (focus == FocusPos ? ret : FocusPos); // если фокус изменили - значит так надо!
 }
 
 
