diff --git a/skeletons/BIT_STRING.c b/skeletons/BIT_STRING.c
index e21594a5104476eb9a32e04c1cb804c7c78d19a7..8c83d68967670de77152eaa779afbf8ba79f0dda 100644
--- a/skeletons/BIT_STRING.c
+++ b/skeletons/BIT_STRING.c
@@ -124,6 +124,8 @@ BIT_STRING_encode_xer(asn_TYPE_descriptor_t *td, void *sptr,
 
 	if(!xcan) _i_ASN_TEXT_INDENT(1, ilevel - 1);
 
+	er.structure_ptr = 0;
+	er.failed_type = 0;
 	return er;
 cb_failed:
 	_ASN_ENCODE_FAILED;
diff --git a/skeletons/INTEGER.c b/skeletons/INTEGER.c
index b477056096586b681db4d1401f82697dbe0c3cc1..d2a66b5d6b486e039a76ef5bdedfde0ec67127d0 100644
--- a/skeletons/INTEGER.c
+++ b/skeletons/INTEGER.c
@@ -430,6 +430,8 @@ INTEGER_encode_xer(asn_TYPE_descriptor_t *td, void *sptr,
 	er.encoded = INTEGER__dump(td, st, cb, app_key, 1);
 	if(er.encoded < 0) _ASN_ENCODE_FAILED;
 
+	er.structure_ptr = 0;
+	er.failed_type = 0;
 	return er;
 }
 
diff --git a/skeletons/OCTET_STRING.c b/skeletons/OCTET_STRING.c
index de53c1dbbb730dc090a4cbfc5ad2141b4f69f328..447b2425bebdacf920ea51458661d7a051a11b1d 100644
--- a/skeletons/OCTET_STRING.c
+++ b/skeletons/OCTET_STRING.c
@@ -639,6 +639,8 @@ OCTET_STRING_encode_xer(asn_TYPE_descriptor_t *td, void *sptr,
 		}
 	}
 
+	er.structure_ptr = 0;
+	er.failed_type = 0;
 	return er;
 cb_failed:
 	_ASN_ENCODE_FAILED;
@@ -779,6 +781,8 @@ OCTET_STRING_encode_xer_utf8(asn_TYPE_descriptor_t *td, void *sptr,
 		_ASN_ENCODE_FAILED;
 
 	er.encoded = encoded_len;
+	er.structure_ptr = 0;
+	er.failed_type = 0;
 	return er;
 }
 
diff --git a/skeletons/REAL.c b/skeletons/REAL.c
index 7447aae9946447ed04125187ab427a17bd81f3e6..c48015389b8fb41f8bce434a77676c5a96c48942 100644
--- a/skeletons/REAL.c
+++ b/skeletons/REAL.c
@@ -257,6 +257,8 @@ REAL_encode_xer(asn_TYPE_descriptor_t *td, void *sptr,
 	er.encoded = REAL__dump(d, flags & XER_F_CANONICAL, cb, app_key);
 	if(er.encoded < 0) _ASN_ENCODE_FAILED;
 
+	er.structure_ptr = 0;
+	er.failed_type = 0;
 	return er;
 }
 
diff --git a/skeletons/tests/check-GeneralizedTime.c b/skeletons/tests/check-GeneralizedTime.c
index 245e9408d8de51e2c4c6bbc8c0c7ff17c112b243..9eabb69fa6f0a5ad4ee99d0f9f6072f524c1333d 100644
--- a/skeletons/tests/check-GeneralizedTime.c
+++ b/skeletons/tests/check-GeneralizedTime.c
@@ -267,6 +267,7 @@ OCTET_STRING_encode_der(asn_TYPE_descriptor_t *td, void *ptr, int tag_mode, ber_
 	(void)cb;
 	(void)app_key;
 
+	memset(&erval, 0, sizeof(erval));
 	return erval;
 }
 
@@ -281,5 +282,6 @@ OCTET_STRING_encode_xer_utf8(asn_TYPE_descriptor_t *td, void *ptr, int ilevel, e
 	(void)cb;
 	(void)app_key;
 
+	memset(&erval, 0, sizeof(erval));
 	return erval;
 }
diff --git a/skeletons/tests/check-UTCTime.c b/skeletons/tests/check-UTCTime.c
index 96803ad67ec9591a99a2684f9b5a376086e4e654..81dde5600835742d1678cbdd5dd550f3cbbbe9d3 100644
--- a/skeletons/tests/check-UTCTime.c
+++ b/skeletons/tests/check-UTCTime.c
@@ -74,6 +74,7 @@ OCTET_STRING_encode_der(asn_TYPE_descriptor_t *td, void *ptr, int tag_mode, ber_
 	(void)cb;
 	(void)app_key;
 
+	memset(&erval, 0, sizeof(erval));
 	return erval;
 }
 
@@ -88,5 +89,6 @@ OCTET_STRING_encode_xer_utf8(asn_TYPE_descriptor_t *td, void *ptr, int ilevel, e
 	(void)cb;
 	(void)app_key;
 
+	memset(&erval, 0, sizeof(erval));
 	return erval;
 }
diff --git a/skeletons/xer_encoder.c b/skeletons/xer_encoder.c
index 5207d28e3068ab29005506c3a8c4c4762edc29ab..3ee62cb87b96ee8e2307ad42cca359b2ea0934df 100644
--- a/skeletons/xer_encoder.c
+++ b/skeletons/xer_encoder.c
@@ -32,6 +32,8 @@ xer_encode(asn_TYPE_descriptor_t *td, void *sptr,
 
 	er.encoded = 4 + xcan + (2 * mlen) + tmper.encoded;
 
+	er.structure_ptr = 0;
+	er.failed_type = 0;
 	return er;
 cb_failed:
 	_ASN_ENCODE_FAILED;