diff --git a/_states/novav21.py b/_states/novav21.py
index be424b7..dbc5170 100644
--- a/_states/novav21.py
+++ b/_states/novav21.py
@@ -74,14 +74,18 @@
 
 @_error_handler
 def flavor_present(name, cloud_name, vcpus=1, ram=256, disk=0, flavor_id=None,
-                   extra_specs=None):
+                   extra_specs=None, is_public=False):
     """Ensures that the flavor exists"""
     extra_specs = extra_specs or {}
-    # There is no way to query flavors by name
+    # There is no way to query flavors by name. And we always list both
+    # public and private flavors
     flavors = _call_nova_salt_module('flavor_list', name)(
-        detail=True, cloud_name=cloud_name)
+        detail=True, is_public=None, cloud_name=cloud_name)
     flavor = [flavor for flavor in flavors if flavor['name'] == name]
     # Flavor names are unique, there is either 1 or 0 with requested name
+    # TODO: check all the vcpus, ram etc. and delete the existing flavor if
+    # something does not match, as it is impossible to update exising flavor
+    # apart from its extra specs
     if flavor:
         flavor = flavor[0]
         current_extra_specs = _call_nova_salt_module(
@@ -100,7 +104,8 @@
             ret = _no_change(name, 'Flavor')
     else:
         flavor = _call_nova_salt_module('flavor_create', name)(
-            name, vcpus, ram, disk, id=flavor_id, cloud_name=cloud_name)
+            name, vcpus, ram, disk, id=flavor_id, cloud_name=cloud_name,
+            **{"os-flavor-access:is_public": is_public})
         _call_nova_salt_module('flavor_add_extra_specs', name)(
             flavor['id'], cloud_name=cloud_name, **extra_specs)
         flavor['extra_specs'] = extra_specs
