diff --git a/include/libbej/bej_common.h b/include/libbej/bej_common.h
index 66003f7..499fd03 100644
--- a/include/libbej/bej_common.h
+++ b/include/libbej/bej_common.h
@@ -51,7 +51,7 @@
     bejErrorNoError = 0,
     bejErrorUnknown,
     bejErrorInvalidSize,
-    bejErrorNotSuppoted,
+    bejErrorNotSupported,
     bejErrorUnknownProperty,
     bejErrorInvalidSchemaType,
     bejErrorInvalidPropertyOffset,
diff --git a/src/bej_decoder_core.c b/src/bej_decoder_core.c
index b500fcf..e240d99 100644
--- a/src/bej_decoder_core.c
+++ b/src/bej_decoder_core.c
@@ -727,7 +727,7 @@
         if (++operationCount > maxOperations)
         {
             fprintf(stderr, "BEJ decoding exceeded max operations\n");
-            return bejErrorNotSuppoted;
+            return bejErrorNotSupported;
         }
         // Go to the next encoded segment in the encoded stream.
         params.state.encodedSubStream =
@@ -859,27 +859,27 @@
     {
         fprintf(stderr, "Bej decoder doesn't support the bej version: %u\n",
                 pldmHeader->bejVersion);
-        return bejErrorNotSuppoted;
+        return bejErrorNotSupported;
     }
 
     if (pldmHeader->schemaClass == bejAnnotationSchemaClass)
     {
         fprintf(stderr,
                 "Encoder schema class cannot be BejAnnotationSchemaClass\n");
-        return bejErrorNotSuppoted;
+        return bejErrorNotSupported;
     }
     // TODO: Add support for CollectionMemberType schema class.
     if (pldmHeader->schemaClass == bejCollectionMemberTypeSchemaClass)
     {
         fprintf(stderr, "Decoder doesn't support "
                         "bejCollectionMemberTypeSchemaClass yet.\n");
-        return bejErrorNotSuppoted;
+        return bejErrorNotSupported;
     }
     // TODO: Add support for Error schema class.
     if (pldmHeader->schemaClass == bejErrorSchemaClass)
     {
         fprintf(stderr, "Decoder doesn't support BejErrorSchemaClass yet.\n");
-        return bejErrorNotSuppoted;
+        return bejErrorNotSupported;
     }
 
     // Skip the PLDM header.
diff --git a/test/bej_decoder_test.cpp b/test/bej_decoder_test.cpp
index b229043..368bbc9 100644
--- a/test/bej_decoder_test.cpp
+++ b/test/bej_decoder_test.cpp
@@ -138,7 +138,7 @@
 
     BejDecoderJson decoder;
     EXPECT_THAT(decoder.decode(dictionaries, std::span(outputBuffer)),
-                bejErrorNotSuppoted);
+                bejErrorNotSupported);
 }
 
 /**
