diff --git a/client/ayon_core/hosts/maya/api/lib.py b/client/ayon_core/hosts/maya/api/lib.py
index 060c16056c..91f60824b6 100644
--- a/client/ayon_core/hosts/maya/api/lib.py
+++ b/client/ayon_core/hosts/maya/api/lib.py
@@ -3129,7 +3129,7 @@ def load_capture_preset(data):
     return options
 
 
-def get_attr_in_layer(attr, layer):
+def get_attr_in_layer(attr, layer, as_string=True):
     """Return attribute value in specified renderlayer.
 
     Same as cmds.getAttr but this gets the attribute's value in a
@@ -3147,6 +3147,7 @@ def get_attr_in_layer(attr, layer):
     Args:
         attr (str): attribute name, ex. "node.attribute"
         layer (str): layer name
+        as_string (bool): whether attribute should convert to a string value
 
     Returns:
         The return value from `maya.cmds.getAttr`
@@ -3156,7 +3157,8 @@ def get_attr_in_layer(attr, layer):
     try:
         if cmds.mayaHasRenderSetup():
             from . import lib_rendersetup
-            return lib_rendersetup.get_attr_in_layer(attr, layer)
+            return lib_rendersetup.get_attr_in_layer(
+                attr, layer, as_string=as_string)
     except AttributeError:
         pass
 
@@ -3164,7 +3166,7 @@ def get_attr_in_layer(attr, layer):
     current_layer = cmds.editRenderLayerGlobals(query=True,
                                                 currentRenderLayer=True)
     if layer == current_layer:
-        return cmds.getAttr(attr)
+        return cmds.getAttr(attr, asString=as_string)
 
     connections = cmds.listConnections(attr,
                                        plugs=True,
@@ -3215,7 +3217,7 @@ def get_attr_in_layer(attr, layer):
                         value *= conversion
                     return value
 
-    return cmds.getAttr(attr)
+    return cmds.getAttr(attr, asString=as_string)
 
 
 def fix_incompatible_containers():
diff --git a/client/ayon_core/hosts/maya/api/lib_renderproducts.py b/client/ayon_core/hosts/maya/api/lib_renderproducts.py
index 7f26145e1d..832d1c21c2 100644
--- a/client/ayon_core/hosts/maya/api/lib_renderproducts.py
+++ b/client/ayon_core/hosts/maya/api/lib_renderproducts.py
@@ -297,7 +297,7 @@ def get_render_attribute(self, attribute):
         """
         return self._get_attr("defaultRenderGlobals", attribute)
 
-    def _get_attr(self, node_attr, attribute=None):
+    def _get_attr(self, node_attr, attribute=None, as_string=True):
         """Return the value of the attribute in the renderlayer
 
         For readability this allows passing in the attribute in two ways.
@@ -317,7 +317,7 @@ def _get_attr(self, node_attr, attribute=None):
         else:
             plug = "{}.{}".format(node_attr, attribute)
 
-        return lib.get_attr_in_layer(plug, layer=self.layer)
+        return lib.get_attr_in_layer(plug, layer=self.layer, as_string=as_string)
 
     @staticmethod
     def extract_separator(file_prefix):
@@ -1133,9 +1133,24 @@ def get_render_products(self):
             aovs = list(set(aovs) - set(ref_aovs))
 
         products = []
+        global_aov_enabled = bool(
+            self._get_attr("redshiftOptions.aovGlobalEnableMode", as_string=False)
+        )
+        colorspace = lib.get_color_management_output_transform()
+        if not global_aov_enabled:
+            # only beauty output
+            for camera in cameras:
+                products.insert(0,
+                                RenderProduct(productName="",
+                                              ext=ext,
+                                              multipart=self.multipart,
+                                              camera=camera,
+                                              colorspace=colorspace))
+            return products
+
         light_groups_enabled = False
         has_beauty_aov = False
-        colorspace = lib.get_color_management_output_transform()
+
         for aov in aovs:
             enabled = self._get_attr(aov, "enabled")
             if not enabled:
diff --git a/client/ayon_core/hosts/maya/api/lib_rendersetup.py b/client/ayon_core/hosts/maya/api/lib_rendersetup.py
index c2b5ec843c..6dca8eb6dd 100644
--- a/client/ayon_core/hosts/maya/api/lib_rendersetup.py
+++ b/client/ayon_core/hosts/maya/api/lib_rendersetup.py
@@ -77,7 +77,7 @@ def get_rendersetup_layer(layer):
                  if conn.endswith(".legacyRenderLayer")), None)
 
 
-def get_attr_in_layer(node_attr, layer):
+def get_attr_in_layer(node_attr, layer, as_string=True):
     """Return attribute value in Render Setup layer.
 
     This will only work for attributes which can be
@@ -124,7 +124,7 @@ def get_default_layer_value(node_attr_):
             node = history_overrides[-1] if history_overrides else override
             node_attr_ = node + ".original"
 
-        return get_attribute(node_attr_, asString=True)
+        return get_attribute(node_attr_, asString=as_string)
 
     layer = get_rendersetup_layer(layer)
     rs = renderSetup.instance()
@@ -144,7 +144,7 @@ def get_default_layer_value(node_attr_):
                 # we will let it error out.
                 rs.switchToLayer(current_layer)
 
-        return get_attribute(node_attr, asString=True)
+        return get_attribute(node_attr, asString=as_string)
 
     overrides = get_attr_overrides(node_attr, layer)
     default_layer_value = get_default_layer_value(node_attr)