diff --git a/README.md b/README.md
index 8f81dc67..b5b4f7ea 100644
--- a/README.md
+++ b/README.md
@@ -140,6 +140,7 @@ information on what to include when reporting a bug.
  - Bugfix: Built-in mappings failed because some OEMs re-used VID/PID (#1583)
  - Bugfix: Some extension loader headers did not prevent default OpenGL header
    inclusion (#1695)
+ - Bugfix: Buffers were swapped at creation on single-buffered windows (#1873)
  - [Win32] Added the `GLFW_WIN32_KEYBOARD_MENU` window hint for enabling access
            to the window menu
  - [Win32] Added a version info resource to the GLFW DLL
diff --git a/src/context.c b/src/context.c
index 48311e5f..12a06e0b 100644
--- a/src/context.c
+++ b/src/context.c
@@ -570,7 +570,9 @@ GLFWbool _glfwRefreshContextAttribs(_GLFWwindow* window,
         PFNGLCLEARPROC glClear = (PFNGLCLEARPROC)
             window->context.getProcAddress("glClear");
         glClear(GL_COLOR_BUFFER_BIT);
-        window->context.swapBuffers(window);
+
+        if (window->doublebuffer)
+            window->context.swapBuffers(window);
     }
 
     glfwMakeContextCurrent((GLFWwindow*) previous);