diff --git a/openbsc/src/gprs/gprs_llc.c b/openbsc/src/gprs/gprs_llc.c
index ff771b8..5b1f333 100644
--- a/openbsc/src/gprs/gprs_llc.c
+++ b/openbsc/src/gprs/gprs_llc.c
@@ -1066,7 +1066,7 @@
 	/* Generate XID message */
 	xid_bytes_len = gprs_llc_generate_xid_for_gmm_reset(xid_bytes,
 					sizeof(xid_bytes),llme->iov_ui,llme);
-	if(xid_bytes_len < 0)
+	if (xid_bytes_len < 0)
 		return -EINVAL;
 	xid = msgb_put(msg, xid_bytes_len);
 	memcpy(xid, xid_bytes, xid_bytes_len);
@@ -1099,7 +1099,7 @@
 	/* Generate XID message */
 	xid_bytes_len = gprs_llc_generate_xid_for_gmm_reset(xid_bytes,
 					sizeof(xid_bytes),llme->iov_ui,llme);
-	if(xid_bytes_len < 0)
+	if (xid_bytes_len < 0)
 		return -EINVAL;
 	xid = msgb_put(msg, xid_bytes_len);
 	memcpy(xid, xid_bytes, xid_bytes_len);
diff --git a/openbsc/src/gprs/gprs_sndcp.c b/openbsc/src/gprs/gprs_sndcp.c
index 0b18f81..1cbeede 100644
--- a/openbsc/src/gprs/gprs_sndcp.c
+++ b/openbsc/src/gprs/gprs_sndcp.c
@@ -779,7 +779,7 @@
 	/* FIXME: move this RA_ID up to the LLME or even higher */
 	bssgp_parse_cell_id(&sne->ra_id, msgb_bcid(msg));
 
-	if(scomph) {
+	if (scomph) {
 		sne->defrag.pcomp = scomph->pcomp;
 		sne->defrag.dcomp = scomph->dcomp;
 		sne->defrag.proto = lle->llme->comp.proto;
diff --git a/openbsc/src/gprs/sgsn_libgtp.c b/openbsc/src/gprs/sgsn_libgtp.c
index 9f65325..127ee30 100644
--- a/openbsc/src/gprs/sgsn_libgtp.c
+++ b/openbsc/src/gprs/sgsn_libgtp.c
@@ -328,13 +328,13 @@
 
 	/* Send PDP CTX ACT to MS */
 	rc = gsm48_tx_gsm_act_pdp_acc(pctx);
-	if(rc < 0)
+	if (rc < 0)
 		return rc;
 
 	/* Send SNDCP XID to MS */
 	lle = &pctx->mm->gb.llme->lle[pctx->sapi];
 	rc = sndcp_sn_xid_req(lle,pctx->nsapi);
-	if(rc < 0)
+	if (rc < 0)
 		return rc;
 
 	return 0;
