diff --git a/src/libmsc/mncc_sock.c b/src/libmsc/mncc_sock.c
index 4c1362d..b76855f 100644
--- a/src/libmsc/mncc_sock.c
+++ b/src/libmsc/mncc_sock.c
@@ -65,7 +65,7 @@
 
 	/* Actually enqueue the message and mark socket write need */
 	msgb_enqueue(&net->upqueue, msg);
-	net->mncc_state->conn_bfd.when |= OSMO_FD_WRITE;
+	osmo_fd_write_enable(&net->mncc_state->conn_bfd);
 	return 0;
 }
 
@@ -80,7 +80,7 @@
 	osmo_fd_unregister(bfd);
 
 	/* re-enable the generation of ACCEPT for new connections */
-	state->listen_bfd.when |= OSMO_FD_READ;
+	osmo_fd_read_enable(&state->listen_bfd);
 
 	/* release all existing calls */
 	gsm0408_clear_all_trans(state->net, TRANS_CC);
@@ -146,7 +146,7 @@
 		msg = llist_entry(net->upqueue.next, struct msgb, list);
 		mncc_prim = (struct gsm_mncc *)msg->data;
 
-		bfd->when &= ~OSMO_FD_WRITE;
+		osmo_fd_write_disable(bfd);
 
 		/* bug hunter 8-): maybe someone forgot msgb_put(...) ? */
 		if (!msgb_length(msg)) {
@@ -161,7 +161,7 @@
 			goto close;
 		if (rc < 0) {
 			if (errno == EAGAIN) {
-				bfd->when |= OSMO_FD_WRITE;
+				osmo_fd_write_enable(bfd);
 				break;
 			}
 			goto close;
@@ -222,7 +222,7 @@
 	hello->lchan_type_offset = offsetof(struct gsm_mncc, lchan_type);
 
 	msgb_enqueue(&mncc->net->upqueue, msg);
-	mncc->conn_bfd.when |= OSMO_FD_WRITE;
+	osmo_fd_write_enable(&mncc->conn_bfd);
 }
 
 /* accept a new connection */
@@ -245,7 +245,7 @@
 		LOGP(DMNCC, LOGL_NOTICE, "MNCC app connects but we already have "
 			"another active connection ?!?\n");
 		/* We already have one MNCC app connected, this is all we support */
-		state->listen_bfd.when &= ~OSMO_FD_READ;
+		osmo_fd_read_disable(&state->listen_bfd);
 		close(rc);
 		return 0;
 	}
