diff --git a/src/osmo-bsc_mgcp/mgcp_main.c b/src/osmo-bsc_mgcp/mgcp_main.c
index 48241a6..91f9074 100644
--- a/src/osmo-bsc_mgcp/mgcp_main.c
+++ b/src/osmo-bsc_mgcp/mgcp_main.c
@@ -189,33 +189,33 @@
 
 int mgcp_vty_is_config_node(struct vty *vty, int node)
 {
-        switch (node) {
-        case CONFIG_NODE:
-                return 0;
+	switch (node) {
+	case CONFIG_NODE:
+		return 0;
 
-        default:
-                return 1;
-        }
+	default:
+		return 1;
+	}
 }
 
 int mgcp_vty_go_parent(struct vty *vty)
 {
-        switch (vty->node) {
-        case TRUNK_NODE:
-                vty->node = MGCP_NODE;
-                vty->index = NULL;
-                break;
-        case MGCP_NODE:
-        default:
-                if (mgcp_vty_is_config_node(vty, vty->node))
-                        vty->node = CONFIG_NODE;
-                else
-                        vty->node = ENABLE_NODE;
+	switch (vty->node) {
+	case TRUNK_NODE:
+		vty->node = MGCP_NODE;
+		vty->index = NULL;
+		break;
+	case MGCP_NODE:
+	default:
+		if (mgcp_vty_is_config_node(vty, vty->node))
+			vty->node = CONFIG_NODE;
+		else
+			vty->node = ENABLE_NODE;
 
-                vty->index = NULL;
-        }
+		vty->index = NULL;
+	}
 
-        return vty->node;
+	return vty->node;
 }
 
 
@@ -231,8 +231,8 @@
 };
 
 const struct log_info log_info = {
-        .cat = log_categories,
-        .num_cat = ARRAY_SIZE(log_categories),
+	.cat = log_categories,
+	.num_cat = ARRAY_SIZE(log_categories),
 };
 
 int main(int argc, char **argv)
@@ -282,8 +282,8 @@
 	/* set some callbacks */
 	cfg->reset_cb = mgcp_rsip_cb;
 
-        /* we need to bind a socket */
-        if (rc == 0) {
+	/* we need to bind a socket */
+	if (rc == 0) {
 		cfg->gw_fd.bfd.when = BSC_FD_READ;
 		cfg->gw_fd.bfd.cb = read_call_agent;
 		cfg->gw_fd.bfd.fd = socket(AF_INET, SOCK_DGRAM, 0);
