diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c
index 93b7c3a..f2e6435 100644
--- a/src/gb/gprs_ns2.c
+++ b/src/gb/gprs_ns2.c
@@ -776,9 +776,11 @@
 /*! Create a NS Entity within given NS instance.
  *  \param[in] nsi NS instance in which to create NS Entity
  *  \param[in] nsei NS Entity Identifier of to-be-created NSE
+ *  \param[in] ip_sns_role_sgsn Does local side implement SGSN role?
  *  \returns newly-allocated NS-E in successful case; NULL on error */
-struct gprs_ns2_nse *gprs_ns2_create_nse(struct gprs_ns2_inst *nsi, uint16_t nsei,
-					 enum gprs_ns2_ll linklayer, enum gprs_ns2_dialect dialect)
+struct gprs_ns2_nse *gprs_ns2_create_nse2(struct gprs_ns2_inst *nsi, uint16_t nsei,
+					  enum gprs_ns2_ll linklayer, enum gprs_ns2_dialect dialect,
+					  bool ip_sns_role_sgsn)
 {
 	struct gprs_ns2_nse *nse;
 
@@ -792,6 +794,7 @@
 	if (!nse)
 		return NULL;
 	nse->dialect = GPRS_NS2_DIALECT_UNDEF;
+	nse->ip_sns_role_sgsn = ip_sns_role_sgsn;
 
 	if (ns2_nse_set_dialect(nse, dialect) < 0) {
 		talloc_free(nse);
@@ -820,7 +823,10 @@
 	case GPRS_NS2_DIALECT_UNDEF:
 		if (dialect == GPRS_NS2_DIALECT_SNS) {
 			snprintf(sns, sizeof(sns), "NSE%05u-SNS", nse->nsei);
-			nse->bss_sns_fi = ns2_sns_bss_fsm_alloc(nse, sns);
+			if (nse->ip_sns_role_sgsn)
+				nse->bss_sns_fi = ns2_sns_sgsn_fsm_alloc(nse, sns);
+			else
+				nse->bss_sns_fi = ns2_sns_bss_fsm_alloc(nse, sns);
 			if (!nse->bss_sns_fi)
 				return -1;
 		}
@@ -841,6 +847,16 @@
 	return 0;
 }
 
+/*! Create a NS Entity within given NS instance.
+ *  \param[in] nsi NS instance in which to create NS Entity
+ *  \param[in] nsei NS Entity Identifier of to-be-created NSE
+ *  \returns newly-allocated NS-E in successful case; NULL on error */
+struct gprs_ns2_nse *gprs_ns2_create_nse(struct gprs_ns2_inst *nsi, uint16_t nsei,
+					 enum gprs_ns2_ll linklayer, enum gprs_ns2_dialect dialect)
+{
+	return gprs_ns2_create_nse2(nsi, nsei, linklayer, dialect, false);
+}
+
 /*! Return the NSEI
  * \param[in] nse NS Entity
  * \return the nsei.
