diff --git a/RTCP/Interface/include/Interface/StreamableData.h b/RTCP/Interface/include/Interface/StreamableData.h
index ca3ab7b1c6f044c013e630895ce2021aea7fd901..fe332abb6bd7c0eff9ab046083ecea84c4dfdd50 100644
--- a/RTCP/Interface/include/Interface/StreamableData.h
+++ b/RTCP/Interface/include/Interface/StreamableData.h
@@ -120,7 +120,9 @@ inline void StreamableData::write(Stream *str, bool withSequenceNumber, unsigned
       void *sn_buf;
       uint32_t sn = sequenceNumber;
 
-      posix_memalign(&sn_buf, align, align);
+      if (posix_memalign(&sn_buf, align, align) != 0) {
+	THROW(InterfaceException,"could not allocate data");
+      }
 
       try {
         dataConvert(BigEndian, &sn, 1);
@@ -144,7 +146,9 @@ inline void StreamableData::write(Stream *str, bool withSequenceNumber, unsigned
       if (align < sizeof(uint32_t)) THROW(AssertError, "Sizeof alignment < sizeof sequencenumber");
 
       void *sn_buf;
-      posix_memalign(&sn_buf, align, align);
+      if (posix_memalign(&sn_buf, align, align) != 0) {
+	THROW(InterfaceException,"could not allocate data");
+      }
 
       try {
         memcpy(sn_buf, &sequenceNumber, sizeof sequenceNumber);