diff --git a/app/proxyman/mux/session.go b/app/proxyman/mux/session.go
index f8057641..c3f6632a 100644
--- a/app/proxyman/mux/session.go
+++ b/app/proxyman/mux/session.go
@@ -78,7 +78,7 @@ func (m *SessionManager) CloseIfNoSession() bool {
 		return true
 	}
 
-	if len(m.sessions) > 0 {
+	if len(m.sessions) != 0 {
 		return false
 	}
 
diff --git a/app/proxyman/mux/session_test.go b/app/proxyman/mux/session_test.go
index 6ceb951c..addff874 100644
--- a/app/proxyman/mux/session_test.go
+++ b/app/proxyman/mux/session_test.go
@@ -24,3 +24,14 @@ func TestSessionManagerAdd(t *testing.T) {
 	m.Add(s)
 	assert.Uint16(s.ID).Equals(4)
 }
+
+func TestSessionManagerClose(t *testing.T) {
+	assert := assert.On(t)
+
+	m := NewSessionManager()
+	s := m.Allocate()
+
+	assert.Bool(m.CloseIfNoSession()).IsFalse()
+	m.Remove(s.ID)
+	assert.Bool(m.CloseIfNoSession()).IsTrue()
+}