diff --git a/src/agent.c b/src/agent.c
index 20524ac56a3a19b3359ba8f5ee044e021b6b8a0b..d84322ccaf8170f2b814c593b2cb12928cf0d94f 100644
--- a/src/agent.c
+++ b/src/agent.c
@@ -3188,6 +3188,11 @@ static void wifi_sta_event_handler(void *c, struct blob_attr *msg)
 			if (pvid) {
 				agent_fill_8021q_setting(a, pvid, 0);
 				agent_apply_traffic_separation(a);
+			} else if (pvid == 0 && a->pvid) {
+				/* traffic separation has been disabled
+				 * unset if it was previously set
+				 */
+				agent_clear_traffic_sep(a);
 			}
 
 			free(frame);