diff --git a/skeletons/converter-sample.c b/skeletons/converter-sample.c
index 8c87030..de5b4a2 100644
--- a/skeletons/converter-sample.c
+++ b/skeletons/converter-sample.c
@@ -341,7 +341,11 @@
                 DEBUG("Encoded in %ld bytes of DER", (long)erv.encoded);
                 break;
             case OUT_OER:
+#ifdef  ASN_DISABLE_OER_SUPPORT
+                erv.encoded = -1;
+#else
                 erv = oer_encode(pduType, structure, write_out, stdout);
+#endif
                 if(erv.encoded < 0) {
                     fprintf(stderr, "%s: Cannot convert %s into oER\n", name,
                             pduType->name);
@@ -350,7 +354,11 @@
                 DEBUG("Encoded in %ld bytes of OER", (long)erv.encoded);
                 break;
             case OUT_PER:
+#ifdef  ASN_DISABLE_PER_SUPPORT
+                erv.encoded = -1;
+#else
                 erv = uper_encode(pduType, structure, write_out, stdout);
+#endif
                 if(erv.encoded < 0) {
                     fprintf(stderr,
                             "%s: Cannot convert %s into Unaligned PER\n", name,
@@ -670,14 +678,23 @@
                 (void **)&structure, i_bptr, i_size);
             break;
         case INP_OER:
+#ifdef ASN_DISABLE_OER_SUPPORT
+            rval.code = RC_FAIL;
+            rval.consumed = 0;
+#else
             rval = oer_decode(opt_codec_ctx, pduType,
                 (void **)&structure, i_bptr, i_size);
+#endif
             break;
         case INP_XER:
             rval = xer_decode(opt_codec_ctx, pduType,
                 (void **)&structure, i_bptr, i_size);
             break;
         case INP_PER:
+#ifdef ASN_DISABLE_PER_SUPPORT
+            rval.code = RC_FAIL;
+            rval.consumed = 0;
+#else
             if(opt_nopad)
             rval = uper_decode(opt_codec_ctx, pduType,
                 (void **)&structure, i_bptr, i_size, 0,
@@ -685,6 +702,7 @@
             else
             rval = uper_decode_complete(opt_codec_ctx, pduType,
                 (void **)&structure, i_bptr, i_size);
+#endif
             switch(rval.code) {
             case RC_OK:
                 /* Fall through */
