diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,8 @@
+## Changelog for the `tomato-rubato-openal` package
+
+**0.1.0.4** -- Maintenance release.
+
+* Fix [issue #2][#2]: Properly frees the audio device and context without crashing on Linux.
+
+  [#2]: https://github.com/HeinrichApfelmus/tomato-rubato/issues/2
+  [#4]: https://github.com/HeinrichApfelmus/tomato-rubato/pull/4
diff --git a/src/Sound/Tomato/Speakers.hs b/src/Sound/Tomato/Speakers.hs
--- a/src/Sound/Tomato/Speakers.hs
+++ b/src/Sound/Tomato/Speakers.hs
@@ -189,14 +189,13 @@
     buffer pSource $= Nothing
     deleteObjectNames [pSource]
     deleteObjectNames pBuffers
-    when (False) $ do
-        -- Not executing the code below fixes a crash on linux.
-        -- It's unproblematic on OS X, too, so why bother.
-        currentContext $= Nothing
-        destroyContext context
-        b <- closeDevice device
-        when (not b) $ fail "closing OpenAL device"
+    -- printErrors causes a segfault on Linux if it is called after 
+    -- currentContext has been released, so call it here first.
     printErrors
+    currentContext $= Nothing
+    destroyContext context
+    b <- closeDevice device
+    when (not b) $ fail "closing OpenAL device"
 
 -- | Print all OpenAL errors if applicable
 printErrors :: IO ()
diff --git a/tomato-rubato-openal.cabal b/tomato-rubato-openal.cabal
--- a/tomato-rubato-openal.cabal
+++ b/tomato-rubato-openal.cabal
@@ -1,5 +1,5 @@
 Name:               tomato-rubato-openal
-Version:            0.1.0.3
+Version:            0.1.0.4
 Synopsis:           Easy to use library for audio programming.
 Description:
   WARNING: This project is still in pre-alpha stage. For adventurers only!
@@ -22,6 +22,8 @@
 build-type:         Simple
 cabal-version:      >= 1.6
 
+extra-source-files:  CHANGELOG.md
+
 source-repository head
     type:           git
     location:       git://github.com/HeinrichApfelmus/tomato-rubato.git
@@ -30,7 +32,7 @@
 Library
     hs-source-dirs:     src
     build-depends:      base == 4.*,
-                        stm >= 2.2 && < 2.4,
-                        vector >= 0.9 && < 0.11,
-                        OpenAL == 1.6.*
+                        stm >= 2.2 && < 2.5,
+                        vector >= 0.9 && < 0.12,
+                        OpenAL >= 1.6 && < 1.8
     exposed-modules:    Sound.Tomato.Speakers
