diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn
index e1947b2..d3e021d 100644
--- a/library/L3_Templates.ttcn
+++ b/library/L3_Templates.ttcn
@@ -1937,6 +1937,74 @@
 	}
 }
 
+template (value) PDU_L3_SGSN_MS ts_SM_DEACT_PDP_REQ_MT(BIT3 tid, OCT1 cause, boolean tdown := false,
+						  template (omit) ProtocolConfigOptionsV pco := omit
+						) := {
+	discriminator := '0000'B, /* overwritten */
+	tiOrSkip := {
+		transactionId := {
+			tio := tid,
+			tiFlag := '1'B,
+			tIExtension := omit
+		}
+	},
+	msgs := {
+		gprs_sm := {
+			deactivatePDPContextRequest := {
+				messageType := '00000000'B, /* overwritten */
+				smCause := cause,
+				tearDownIndicator := {
+					tearDownIndicatorV := {
+						tdi_flag := bool2bit(tdown),
+						spare := '000'B
+					},
+					elementIdentifier := '1001'B
+				},
+				protocolConfigOpts := ts_PcoTLV(pco),
+				mBMSprotocolConfigOptions := omit,
+				t3396 := omit,
+				wLANOffloadIndication := omit,
+				nBIFOM_Container := omit
+			}
+		}
+	}
+}
+
+template PDU_L3_SGSN_MS tr_SM_DEACT_PDP_REQ_MT(template BIT3 tid, template OCT1 cause,
+						template boolean tdown := false,
+						  template (omit) ProtocolConfigOptionsV pco := omit
+						) := {
+	discriminator := '0000'B, /* overwritten */
+	tiOrSkip := {
+		transactionId := {
+			tio := tid,
+			tiFlag := '1'B,
+			tIExtension := omit
+		}
+	},
+	msgs := {
+		gprs_sm := {
+			deactivatePDPContextRequest := {
+				messageType := '00000000'B, /* overwritten */
+				smCause := cause,
+				tearDownIndicator := {
+					tearDownIndicatorV := {
+						tdi_flag := bool2bit_tmpl(tdown),
+						spare := '000'B
+					},
+					elementIdentifier := '1001'B
+				},
+				protocolConfigOpts := *,
+				mBMSprotocolConfigOptions := *,
+				t3396 := *,
+				wLANOffloadIndication := *,
+				nBIFOM_Container := *
+			}
+		}
+	}
+}
+
+
 template PDU_L3_SGSN_MS tr_SM_DEACT_PDP_ACCEPT_MT(template BIT3 tid := ?)
 := {
 	discriminator := '1010'B,
@@ -1959,6 +2027,50 @@
 	}
 }
 
+template PDU_L3_MS_SGSN tr_SM_DEACT_PDP_ACCEPT_MO(template BIT3 tid := ?)
+:= {
+	discriminator := '1010'B,
+	tiOrSkip := {
+		transactionId := {
+			tio := tid,
+			tiFlag := '0'B,
+			tIExtension := omit
+		}
+	},
+	msgs := {
+		gprs_sm := {
+			deactivatePDPContextAccept := {
+				messageType := '01000111'B,
+				protocolConfigOpts := *,
+				mBMSprotocolConfigOptions := *,
+				nBIFOM_Container := *
+			}
+		}
+	}
+}
+
+template (value) PDU_L3_MS_SGSN ts_SM_DEACT_PDP_ACCEPT_MO(BIT3 tid)
+:= {
+	discriminator := '1010'B,
+	tiOrSkip := {
+		transactionId := {
+			tio := tid,
+			tiFlag := '0'B,
+			tIExtension := omit
+		}
+	},
+	msgs := {
+		gprs_sm := {
+			deactivatePDPContextAccept := {
+				messageType := '01000111'B,
+				protocolConfigOpts := omit,
+				mBMSprotocolConfigOptions := omit,
+				nBIFOM_Container := omit
+			}
+		}
+	}
+}
+
 
 
 private function f_concat_pad(integer tot_len, hexstring prefix, integer suffix) return hexstring {
