diff --git a/src/nsgl_context.m b/src/nsgl_context.m
index f2902d7fa..60b5b5424 100644
--- a/src/nsgl_context.m
+++ b/src/nsgl_context.m
@@ -159,6 +159,25 @@ GLFWbool _glfwCreateContextNSGL(_GLFWwindow* window,
ADD_ATTR(NSOpenGLPFAAccelerated);
ADD_ATTR(NSOpenGLPFAClosestPolicy);
+
+ // Enables the context to participate in automatic graphics card switching.
+ // This means that GLFW won't force switching to the discrete graphics
+ // card on any Mac that has dual graphics cards available.
+ // This will result in lower power consumption for GUI-style apps where
+ // the integrated graphics are more than adequate, but may be ignored
+ // for heavier applications such as games, where the user most likely
+ // wants to take advantage of the more powerful discrete graphics chip.
+
+ // For this functionality to actually be active, the Apps' Info.plist
+ // file still needs to be edited to contain:
+ // NSSupportsAutomaticGraphicsSwitching
+ // otherwise it continues with default behaviour of forced discrete gfx.
+
+ // Note that switching graphics chipsets also incurs a ~200ms penalty on
+ // app startup, which is avoided by having this attribute set.
+ // Further info:
+ // https://developer.apple.com/library/mac/technotes/tn2229/_index.html
+ ADD_ATTR(NSOpenGLPFAAllowOfflineRenderers);
if (ctxconfig->nsgl.offline)
{