diff --git a/openbsc/include/openbsc/control_cmd.h b/openbsc/include/openbsc/control_cmd.h
index 8aede15..a87c469 100644
--- a/openbsc/include/openbsc/control_cmd.h
+++ b/openbsc/include/openbsc/control_cmd.h
@@ -172,6 +172,20 @@
 	.verify = &verify_##cmdname, \
 }
 
+#define CTRL_CMD_DEFINE_RO(cmdname, cmdstr) \
+static int get_##cmdname(struct ctrl_cmd *cmd, void *data);		\
+static int set_##cmdname(struct ctrl_cmd *cmd, void *data)	\
+{									\
+	cmd->reply = "Read Only attribute";				\
+	return CTRL_CMD_ERROR;						\
+}									\
+static int verify_##cmdname(struct ctrl_cmd *cmd, const char *value, void *data) \
+{									\
+	cmd->reply = "Read Only attribute";				\
+	return 1;							\
+}									\
+CTRL_CMD_DEFINE(cmdname, cmdstr)
+
 struct gsm_network;
 
 #endif /* _CONTROL_CMD_H */
diff --git a/openbsc/src/osmo-bsc/osmo_bsc_ctrl.c b/openbsc/src/osmo-bsc/osmo_bsc_ctrl.c
index e32218d..d3593de 100644
--- a/openbsc/src/osmo-bsc/osmo_bsc_ctrl.c
+++ b/openbsc/src/osmo-bsc/osmo_bsc_ctrl.c
@@ -58,7 +58,7 @@
 	talloc_free(trap);
 }
 
-CTRL_CMD_DEFINE(msc_connection_status, "msc_connection_status");
+CTRL_CMD_DEFINE_RO(msc_connection_status, "msc_connection_status");
 static int msc_connection_status = 0;
 
 static int get_msc_connection_status(struct ctrl_cmd *cmd, void *data)
@@ -70,17 +70,6 @@
 	return CTRL_CMD_REPLY;
 }
 
-static int set_msc_connection_status(struct ctrl_cmd *cmd, void *data)
-{
-	return CTRL_CMD_ERROR;
-}
-
-static int verify_msc_connection_status(struct ctrl_cmd *cmd, const char *value, void *data)
-{
-	cmd->reply = "Read-only property";
-	return 1;
-}
-
 static int msc_connection_status_trap_cb(unsigned int subsys, unsigned int signal, void *handler_data, void *signal_data)
 {
 	struct ctrl_cmd *cmd;
@@ -114,7 +103,7 @@
 	return 0;
 }
 
-CTRL_CMD_DEFINE(bts_connection_status, "bts_connection_status");
+CTRL_CMD_DEFINE_RO(bts_connection_status, "bts_connection_status");
 static int bts_connection_status = 0;
 
 static int get_bts_connection_status(struct ctrl_cmd *cmd, void *data)
@@ -126,17 +115,6 @@
 	return CTRL_CMD_REPLY;
 }
 
-static int set_bts_connection_status(struct ctrl_cmd *cmd, void *data)
-{
-	return CTRL_CMD_ERROR;
-}
-
-static int verify_bts_connection_status(struct ctrl_cmd *cmd, const char *value, void *data)
-{
-	cmd->reply = "Read-only property";
-	return 1;
-}
-
 static int bts_connection_status_trap_cb(unsigned int subsys, unsigned int signal, void *handler_data, void *signal_data)
 {
 	struct ctrl_cmd *cmd;
@@ -496,7 +474,7 @@
 	return 1;
 }
 
-CTRL_CMD_DEFINE(bts_rf_state, "rf_state");
+CTRL_CMD_DEFINE_RO(bts_rf_state, "rf_state");
 static int get_bts_rf_state(struct ctrl_cmd *cmd, void *data)
 {
 	const char *oper, *admin, *policy;
@@ -520,16 +498,6 @@
 	return CTRL_CMD_REPLY;
 }
 
-static int set_bts_rf_state(struct ctrl_cmd *cmd, void *data)
-{
-	cmd->reply = "set is unimplemented";
-	return CTRL_CMD_ERROR;
-}
-
-static int verify_bts_rf_state(struct ctrl_cmd *cmd, const char *value, void *data)
-{
-	return 0;
-}
 
 CTRL_CMD_DEFINE(net_rf_lock, "rf_locked");
 static int get_net_rf_lock(struct ctrl_cmd *cmd, void *data)
