diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2014 Mikko Juola
+Copyright (c) 2014-2015 Mikko Juola
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -23,9 +23,6 @@
     monad for mass-rendering that has implicit state but the state is localized
     to running of that monad. (see Caramia.Render).
 
-  * Only vanilla OpenGL 3.3 required. Some extensions will be used if they are
-    available.
-
 Here are some curious features that you might find useful.
 
   * This library plays nice with other OpenGL libraries. It does not mess up
diff --git a/caramia.cabal b/caramia.cabal
--- a/caramia.cabal
+++ b/caramia.cabal
@@ -1,11 +1,11 @@
 name:                caramia
-version:             0.7.1.0
+version:             0.7.1.1
 synopsis:            High-level OpenGL bindings
 homepage:            https://github.com/Noeda/caramia/
 license:             MIT
 license-file:        LICENSE
 author:              Mikko Juola
-copyright:           Copyright (c) 2014 Mikko Juola
+copyright:           Copyright (c) 2014-2015 Mikko Juola
 maintainer:          mikjuo@gmail.com
 category:            Graphics
 build-type:          Simple
diff --git a/src/Graphics/Caramia/Internal/OpenGLCApi.hs b/src/Graphics/Caramia/Internal/OpenGLCApi.hs
--- a/src/Graphics/Caramia/Internal/OpenGLCApi.hs
+++ b/src/Graphics/Caramia/Internal/OpenGLCApi.hs
@@ -101,7 +101,11 @@
 mglDeleteVertexArray x = with x $ \x_ptr -> GL33.glDeleteVertexArrays 1 x_ptr
 
 mglGenBuffer :: IO GLuint
-mglGenBuffer = alloca $ \x_ptr -> glGenBuffers 1 x_ptr *> peek x_ptr
+mglGenBuffer = alloca $ \x_ptr -> do
+    if gl_ARB_direct_state_access
+      then glCreateBuffers 1 x_ptr
+      else glGenBuffers 1 x_ptr
+    peek x_ptr
 
 mglGenVertexArray :: IO GLuint
 mglGenVertexArray =
