diff --git a/THANKS b/THANKS
index 89cc524..53f985e 100644
--- a/THANKS
+++ b/THANKS
@@ -41,6 +41,7 @@
 Erwin Haid <erwin.haid@gmx.de>
 Eun-cheol Joo
 Fabrice Fontaine
+Filip Niksic
 Florian Delizy <florian.delizy@gmail.com>
 Force Charlie <charlieio@outlook.com>
 François Simon <AT.GFI.Francois.SIMON@sesam-vitale.fr>
diff --git a/lib/zip_open.c b/lib/zip_open.c
index 1d2f69a..59b8238 100644
--- a/lib/zip_open.c
+++ b/lib/zip_open.c
@@ -77,9 +77,6 @@
 
 ZIP_EXTERN zip_t *
 zip_open_from_source(zip_source_t *src, int _flags, zip_error_t *error) {
-    static zip_int64_t needed_support_read = -1;
-    static zip_int64_t needed_support_write = -1;
-
     unsigned int flags;
     zip_int64_t supported;
     exists_t exists;
@@ -91,15 +88,11 @@
     flags = (unsigned int)_flags;
 
     supported = zip_source_supports(src);
-    if (needed_support_read == -1) {
-        needed_support_read = zip_source_make_command_bitmap(ZIP_SOURCE_OPEN, ZIP_SOURCE_READ, ZIP_SOURCE_CLOSE, ZIP_SOURCE_SEEK, ZIP_SOURCE_TELL, ZIP_SOURCE_STAT, -1);
-        needed_support_write = zip_source_make_command_bitmap(ZIP_SOURCE_BEGIN_WRITE, ZIP_SOURCE_COMMIT_WRITE, ZIP_SOURCE_ROLLBACK_WRITE, ZIP_SOURCE_SEEK_WRITE, ZIP_SOURCE_TELL_WRITE, ZIP_SOURCE_REMOVE, -1);
-    }
-    if ((supported & needed_support_read) != needed_support_read) {
+    if ((supported & ZIP_SOURCE_SUPPORTS_SEEKABLE) != ZIP_SOURCE_SUPPORTS_SEEKABLE) {
         zip_error_set(error, ZIP_ER_OPNOTSUPP, 0);
         return NULL;
     }
-    if ((supported & needed_support_write) != needed_support_write) {
+    if ((supported & ZIP_SOURCE_SUPPORTS_WRITABLE) != ZIP_SOURCE_SUPPORTS_WRITABLE) {
         flags |= ZIP_RDONLY;
     }
 
diff --git a/lib/zip_source_function.c b/lib/zip_source_function.c
index 44db947..ea22405 100644
--- a/lib/zip_source_function.c
+++ b/lib/zip_source_function.c
@@ -57,7 +57,7 @@
     zs->cb.f = zcb;
     zs->ud = ud;
 
-    zs->supports = zcb(ud, NULL, 0, ZIP_SOURCE_SUPPORTS);
+    zs->supports = zcb(ud, NULL, 0, ZIP_SOURCE_SUPPORTS) | zip_source_make_command_bitmap(ZIP_SOURCE_SUPPORTS, -1);
     if (zs->supports < 0) {
         zs->supports = ZIP_SOURCE_SUPPORTS_READABLE;
     }
