diff --git a/src/syncterm/htmlwin.cpp b/src/syncterm/htmlwin.cpp
index 5c4ee88021238639c91104d4ac646ade734883d0..a18408b17febf2a0fb8a73fab75cfb238c2ecec1 100644
--- a/src/syncterm/htmlwin.cpp
+++ b/src/syncterm/htmlwin.cpp
@@ -182,7 +182,12 @@ void MyHTML::OnState(wxCommandEvent &event)
 				UnHide();
 				if(frame->IsIconized())
 					frame->Iconize(false);
+#ifdef _WIN32
+				frame->Hide();
+#endif
+				frame->Show();
 				frame->Raise();
+				htmlWindow->Show();
 				htmlWindow->Raise();
 				htmlWindow->SetFocus();
 				break;
@@ -377,7 +382,7 @@ extern "C" {
 		str[1]=0;
 		add_html(str);
 	}
-	
+
 	void show_html(const char *page)
 	{
 		if(wxTheApp) {
diff --git a/src/syncterm/term.c b/src/syncterm/term.c
index 93e4faf5800ad239eb3fe664de2b4f32cad4c89e..54c23cfbc11d2b2e4357da8cbaa61a1f60129caf 100644
--- a/src/syncterm/term.c
+++ b/src/syncterm/term.c
@@ -40,7 +40,7 @@ static struct text_info	log_ti;
 #ifdef WITH_WXWIDGETS
 enum html_mode {
 	 HTML_MODE_HIDDEN
-	,HTML_MODE_LOWERED
+	,HTML_MODE_ICONIZED
 	,HTML_MODE_RAISED
 	,HTML_MODE_READING
 };
@@ -1387,8 +1387,8 @@ BOOL doterm(struct bbslist *bbs)
 #ifdef WITH_WXWIDGETS
 						if(html_mode==HTML_MODE_RAISED) {
 							if(html_startx!=wherex() || html_starty!=wherey()) {
-								lower_html();
-								html_mode=HTML_MODE_LOWERED;
+								iconize_html();
+								html_mode=HTML_MODE_ICONIZED;
 							}
 						}
 #endif