diff --git a/openair-cn/S1AP/MESSAGES/Makefile.inc b/openair-cn/S1AP/MESSAGES/Makefile.inc
index 460401cfc27546a9af895666b70cd2e038821459..65673c34076d5a341ae6b5220cc19078d268b633 100644
--- a/openair-cn/S1AP/MESSAGES/Makefile.inc
+++ b/openair-cn/S1AP/MESSAGES/Makefile.inc
@@ -607,8 +607,7 @@ S1AP_ASN_MODULE_HEADERS= \
     S1ap-PrivateMessage.h    \
     S1ap-IE.h
 
-ifdef UPDATE_RELEASE_9
-S1AP_ASN_MODULE_SOURCES += \
+S1AP_ASN_MODULE_SOURCES_R9 = \
     S1ap-KillResponse.o  \
     S1ap-KillRequest.o   \
     S1ap-Data-Forwarding-Not-Possible.o  \
@@ -639,7 +638,7 @@ S1AP_ASN_MODULE_SOURCES += \
     S1ap-CancelledCellinTAI-Item.o   \
     S1ap-BroadcastCancelledAreaList.o
 
-S1AP_ASN_MODULE_HEADERS += \
+S1AP_ASN_MODULE_HEADERS_R9 = \
     S1ap-BroadcastCancelledAreaList.h    \
     S1ap-CancelledCellinEAI.h    \
     S1ap-CancelledCellinEAI-Item.h   \
@@ -670,10 +669,8 @@ S1AP_ASN_MODULE_HEADERS += \
     S1ap-UplinkUEAssociatedLPPaTransport.h   \
     S1ap-DownlinkNonUEAssociatedLPPaTransport.h  \
     S1ap-UplinkNonUEAssociatedLPPaTransport.h
-endif
 
-ifdef UPDATE_RELEASE_10
-S1AP_ASN_MODULE_SOURCES += \
+S1AP_ASN_MODULE_SOURCES_R10 = \
     S1ap-PagingPriority.o    \
     S1ap-RelayNode-Indicator.o   \
     S1ap-GWContextReleaseIndication.o    \
@@ -683,7 +680,7 @@ S1AP_ASN_MODULE_SOURCES += \
     S1ap-TrafficLoadReductionIndication.o    \
     S1ap-GUMMEIList.o
 
-S1AP_ASN_MODULE_HEADERS += \
+S1AP_ASN_MODULE_HEADERS_R10 = \
     S1ap-PagingPriority.h    \
     S1ap-RelayNode-Indicator.h   \
     S1ap-GWContextReleaseIndication.h    \
@@ -692,7 +689,6 @@ S1AP_ASN_MODULE_HEADERS += \
     S1ap-PrivacyIndicator.h  \
     S1ap-TrafficLoadReductionIndication.h    \
     S1ap-GUMMEIList.h
-endif
 
 S1AP_ASN_MODULE_HEADERS+=ANY.h
 S1AP_ASN_MODULE_SOURCES+=ANY.o
diff --git a/openair-cn/S1AP/Makefile.eNB b/openair-cn/S1AP/Makefile.eNB
index 897d1cf045d67489cea298c25b31e7a9237c69ca..e3d55239fa86c7215b5919023e882645d8acf0ab 100644
--- a/openair-cn/S1AP/Makefile.eNB
+++ b/openair-cn/S1AP/Makefile.eNB
@@ -37,6 +37,15 @@ libs1ap_OBJECTS = \
 	s1ap_eNB_management_procedures.o	\
 	$(addprefix MESSAGES/, $(S1AP_ASN_MODULE_SOURCES))
 
+ifeq ($(USE_MME), R10)
+	libs1ap_OBJECTS += $(addprefix MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R9))
+	libs1ap_OBJECTS += $(addprefix MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R10))
+else
+	ifeq ($(USE_MME), R9)
+		libs1ap_OBJECTS += $(addprefix MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R9))
+	endif
+endif
+
 # pull in dependency info for *existing* .o files
 -include *.d
 
@@ -83,7 +92,11 @@ clean:
 	@$(RM_F_V) $(libs1ap_OBJECTS)
 	@$(RM_F_V) .*.d
 	@$(RM_F_V) $(addprefix MESSAGES/, $(S1AP_ASN_MODULE_SOURCES))
+	@$(RM_F_V) $(addprefix MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R9))
+	@$(RM_F_V) $(addprefix MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R10))
 	@$(RM_F_V) $(addprefix MESSAGES/, $(S1AP_ASN_MODULE_SOURCES:.o=.d))
+	@$(RM_F_V) $(addprefix MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R9:.o=.d))
+	@$(RM_F_V) $(addprefix MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R10:.o=.d))
 	@$(RM_F_V) libs1ap.a
 	@$(RM_F_V) $(S1AP_OBJDIR)/s1ap_asn1regen.stamp
 	@$(RM_F_V) $(S1AP_OBJDIR)/s1ap_ieregen.stamp
@@ -93,6 +106,10 @@ clean:
 cleanall: clean
 	@$(RM_F_V) $(addprefix MESSAGES/, $(S1AP_ASN_MODULE_SOURCES:.o=.c))
 	@$(RM_F_V) $(addprefix MESSAGES/, $(S1AP_ASN_MODULE_SOURCES:.o=.h))
+	@$(RM_F_V) $(addprefix MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R9:.o=.c))
+	@$(RM_F_V) $(addprefix MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R9:.o=.h))
+	@$(RM_F_V) $(addprefix MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R10:.o=.c))
+	@$(RM_F_V) $(addprefix MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R10:.o=.h))
 
 showcflags:
 	@echo s1ap cflags: $(CFLAGS)
\ No newline at end of file