diff --git a/include/freetype/ftbzip2.h b/include/freetype/ftbzip2.h
index ae88cfdbd..f49f92149 100644
--- a/include/freetype/ftbzip2.h
+++ b/include/freetype/ftbzip2.h
@@ -65,6 +65,8 @@ FT_BEGIN_HEADER
    *   source ::
    *     The source stream.
    *
+   *     `source->memory` has to be a handle to a valid memory manager object.
+   *
    * @return:
    *   FreeType error code.  0~means success.
    *
@@ -86,6 +88,7 @@ FT_BEGIN_HEADER
    *
    *   This function may return `FT_Err_Unimplemented_Feature` if your build
    *   of FreeType was not compiled with bzip2 support.
+   *
    */
   FT_EXPORT( FT_Error )
   FT_Stream_OpenBzip2( FT_Stream  stream,
diff --git a/include/freetype/ftgzip.h b/include/freetype/ftgzip.h
index 418c61228..6f10fb885 100644
--- a/include/freetype/ftgzip.h
+++ b/include/freetype/ftgzip.h
@@ -65,6 +65,8 @@ FT_BEGIN_HEADER
    *   source ::
    *     The source stream.
    *
+   *     `source->memory` has to be a handle to a valid memory manager object.
+   *
    * @return:
    *   FreeType error code.  0~means success.
    *
@@ -86,6 +88,7 @@ FT_BEGIN_HEADER
    *
    *   This function may return `FT_Err_Unimplemented_Feature` if your build
    *   of FreeType was not compiled with zlib support.
+   *
    */
   FT_EXPORT( FT_Error )
   FT_Stream_OpenGzip( FT_Stream  stream,
diff --git a/include/freetype/ftlzw.h b/include/freetype/ftlzw.h
index fd22968f5..bb4033423 100644
--- a/include/freetype/ftlzw.h
+++ b/include/freetype/ftlzw.h
@@ -63,6 +63,8 @@ FT_BEGIN_HEADER
    *   source ::
    *     The source stream.
    *
+   *     `source->memory` has to be a handle to a valid memory manager object.
+   *
    * @return:
    *   FreeType error code.  0~means success.
    *
@@ -84,6 +86,7 @@ FT_BEGIN_HEADER
    *
    *   This function may return `FT_Err_Unimplemented_Feature` if your build
    *   of FreeType was not compiled with LZW support.
+   *
    */
   FT_EXPORT( FT_Error )
   FT_Stream_OpenLZW( FT_Stream  stream,
diff --git a/src/bzip2/ftbzip2.c b/src/bzip2/ftbzip2.c
index 1fda59b60..02bc88752 100644
--- a/src/bzip2/ftbzip2.c
+++ b/src/bzip2/ftbzip2.c
@@ -462,7 +462,7 @@
     FT_BZip2File  zip = NULL;
 
 
-    if ( !stream || !source )
+    if ( !stream || !source || !source->memory )
     {
       error = FT_THROW( Invalid_Stream_Handle );
       goto Exit;
diff --git a/src/gzip/ftgzip.c b/src/gzip/ftgzip.c
index 5e78bc6f8..1917cea11 100644
--- a/src/gzip/ftgzip.c
+++ b/src/gzip/ftgzip.c
@@ -624,7 +624,7 @@
     FT_GZipFile  zip = NULL;
 
 
-    if ( !stream || !source )
+    if ( !stream || !source || !source->memory )
     {
       error = FT_THROW( Invalid_Stream_Handle );
       goto Exit;
diff --git a/src/lzw/ftlzw.c b/src/lzw/ftlzw.c
index 9805a1e3b..9437ad668 100644
--- a/src/lzw/ftlzw.c
+++ b/src/lzw/ftlzw.c
@@ -348,7 +348,7 @@
     FT_LZWFile  zip = NULL;
 
 
-    if ( !stream || !source )
+    if ( !stream || !source || !source->memory )
     {
       error = FT_THROW( Invalid_Stream_Handle );
       goto Exit;
