diff --git a/openbsc/src/ipaccess/ipaccess-config.c b/openbsc/src/ipaccess/ipaccess-config.c
index 0a9dfc8..0c3f888 100644
--- a/openbsc/src/ipaccess/ipaccess-config.c
+++ b/openbsc/src/ipaccess/ipaccess-config.c
@@ -802,11 +802,11 @@
 static void print_help(void)
 {
 #if 0
-	printf("Commmands for reading from the BTS:\n");
+	printf("Commands for reading from the BTS:\n");
 	printf("  -D --dump\t\t\tDump the BTS configuration\n");
 	printf("\n");
 #endif
-	printf("Commmands for writing to the BTS:\n");
+	printf("Commands for writing to the BTS:\n");
 	printf("  -u --unit-id UNIT_ID\t\tSet the Unit ID of the BTS\n");
 	printf("  -o --oml-ip IP\t\tSet primary OML IP (IP of your BSC)\n");
 	printf("  -i --ip-address IP/MASK\tSet static IP address + netmask of BTS\n");
diff --git a/openbsc/src/libbsc/abis_om2000_vty.c b/openbsc/src/libbsc/abis_om2000_vty.c
index 27b1947..adad479 100644
--- a/openbsc/src/libbsc/abis_om2000_vty.c
+++ b/openbsc/src/libbsc/abis_om2000_vty.c
@@ -394,7 +394,7 @@
 
 DEFUN(cfg_bts_is_conn_list, cfg_bts_is_conn_list_cmd,
 	"is-connection-list (add|del) <0-2047> <0-2047> <0-255>",
-	"Interface Switch Connnection List\n"
+	"Interface Switch Connection List\n"
 	"Add to IS list\n" "Delete from IS list\n"
 	"ICP1\n" "ICP2\n" "Contiguity Index\n")
 {
diff --git a/openbsc/src/libbsc/bsc_api.c b/openbsc/src/libbsc/bsc_api.c
index 395002a..8a4c85f 100644
--- a/openbsc/src/libbsc/bsc_api.c
+++ b/openbsc/src/libbsc/bsc_api.c
@@ -136,7 +136,7 @@
 	struct gsm_subscriber_connection *conn =
 		(struct gsm_subscriber_connection *) _conn;
 
-	LOGP(DMSC, LOGL_ERROR, "Assigment T10 timeout on %p\n", conn);
+	LOGP(DMSC, LOGL_ERROR, "Assignment T10 timeout on %p\n", conn);
 
 	/*
 	 * normal release on the secondary channel but only if the
@@ -478,7 +478,7 @@
 
 	gh = msgb_l3(msg);
 	if (msgb_l3len(msg) - sizeof(*gh) != 1) {
-		LOGP(DMSC, LOGL_ERROR, "assignemnt failure unhandled: %zu\n",
+		LOGP(DMSC, LOGL_ERROR, "assignment failure unhandled: %zu\n",
 		     msgb_l3len(msg) - sizeof(*gh));
 		rr_failure = NULL;
 	} else {
diff --git a/openbsc/src/libmsc/smpp_smsc.c b/openbsc/src/libmsc/smpp_smsc.c
index ef4277a..e537490 100644
--- a/openbsc/src/libmsc/smpp_smsc.c
+++ b/openbsc/src/libmsc/smpp_smsc.c
@@ -756,7 +756,7 @@
 	case QUERY_SM:
 	case REPLACE_SM:
 	case SUBMIT_MULTI:
-		LOGP(DSMPP, LOGL_NOTICE, "[%s] Unimplemented PDU Commmand "
+		LOGP(DSMPP, LOGL_NOTICE, "[%s] Unimplemented PDU Command "
 		     "0x%08x\n", esme->system_id, cmd_id);
 		break;
 	default:
diff --git a/openbsc/src/libmsc/smpp_vty.c b/openbsc/src/libmsc/smpp_vty.c
index 351e8be..13467f1 100644
--- a/openbsc/src/libmsc/smpp_vty.c
+++ b/openbsc/src/libmsc/smpp_vty.c
@@ -435,7 +435,7 @@
 
 DEFUN(cfg_esme_del_src_imsi, cfg_esme_del_src_imsi_cmd,
 	"deliver-src-imsi",
-	"Enable the use of IMSI as source addres in DELIVER")
+	"Enable the use of IMSI as source address in DELIVER")
 {
 	struct osmo_smpp_acl *acl = vty->index;
 
@@ -446,7 +446,7 @@
 
 DEFUN(cfg_esme_no_del_src_imsi, cfg_esme_no_del_src_imsi_cmd,
 	"no deliver-src-imsi", NO_STR
-	"Disable the use of IMSI as source addres in DELIVER")
+	"Disable the use of IMSI as source address in DELIVER")
 {
 	struct osmo_smpp_acl *acl = vty->index;
 
diff --git a/openbsc/src/osmo-bsc/osmo_bsc_vty.c b/openbsc/src/osmo-bsc/osmo_bsc_vty.c
index e623c9c..86ccec4 100644
--- a/openbsc/src/osmo-bsc/osmo_bsc_vty.c
+++ b/openbsc/src/osmo-bsc/osmo_bsc_vty.c
@@ -688,7 +688,7 @@
 DEFUN(cfg_net_bsc_mid_call_text,
       cfg_net_bsc_mid_call_text_cmd,
       "mid-call-text .TEXT",
-      "Set the USSD notifcation to be send.\n" "Text to be sent\n")
+      "Set the USSD notification to be send.\n" "Text to be sent\n")
 {
 	struct osmo_bsc_data *data = osmo_bsc_data(vty);
 	char *txt = argv_concat(argv, argc, 0);
