diff --git a/skeletons/NativeReal.c b/skeletons/NativeReal.c
index f305d8b..d0ffbee 100644
--- a/skeletons/NativeReal.c
+++ b/skeletons/NativeReal.c
@@ -203,6 +203,8 @@
 	return erval;
 }
 
+#ifndef ASN_DISABLE_PER_SUPPORT
+
 /*
  * Decode REAL type using PER.
  */
@@ -274,6 +276,8 @@
 	return erval;
 }
 
+#endif /* ASN_DISABLE_PER_SUPPORT */
+
 /*
  * Decode the chunk of XML text encoding REAL.
  */
diff --git a/skeletons/REAL.c b/skeletons/REAL.c
index c510db5..b2227cc 100644
--- a/skeletons/REAL.c
+++ b/skeletons/REAL.c
@@ -435,22 +435,6 @@
 		buf_ptr, size, REAL__xer_body_decode);
 }
 
-asn_dec_rval_t
-REAL_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
-                 const asn_per_constraints_t *constraints, void **sptr,
-                 asn_per_data_t *pd) {
-    (void)constraints;	/* No PER visible constraints */
-	return OCTET_STRING_decode_uper(opt_codec_ctx, td, 0, sptr, pd);
-}
-
-asn_enc_rval_t
-REAL_encode_uper(asn_TYPE_descriptor_t *td,
-                 const asn_per_constraints_t *constraints, void *sptr,
-                 asn_per_outp_t *po) {
-    (void)constraints;	/* No PER visible constraints */
-	return OCTET_STRING_encode_uper(td, 0, sptr, po);
-}
-
 int
 asn_REAL2double(const REAL_t *st, double *dbl_value) {
 	unsigned int octv;
@@ -814,3 +798,23 @@
 
 	return 0;
 }
+
+#ifndef ASN_DISABLE_PER_SUPPORT
+
+asn_dec_rval_t
+REAL_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+                 const asn_per_constraints_t *constraints, void **sptr,
+                 asn_per_data_t *pd) {
+    (void)constraints;	/* No PER visible constraints */
+	return OCTET_STRING_decode_uper(opt_codec_ctx, td, 0, sptr, pd);
+}
+
+asn_enc_rval_t
+REAL_encode_uper(asn_TYPE_descriptor_t *td,
+                 const asn_per_constraints_t *constraints, void *sptr,
+                 asn_per_outp_t *po) {
+    (void)constraints;	/* No PER visible constraints */
+	return OCTET_STRING_encode_uper(td, 0, sptr, po);
+}
+
+#endif  /* ASN_DISABLE_PER_SUPPORT */
