diff --git a/src/Graphics/XDot/Viewer.hs b/src/Graphics/XDot/Viewer.hs
--- a/src/Graphics/XDot/Viewer.hs
+++ b/src/Graphics/XDot/Viewer.hs
@@ -17,7 +17,7 @@
 import Graphics.UI.Gtk (PangoRectangle(..), layoutSetFontDescription,
   layoutGetExtents, layoutContextChanged, fontDescriptionFromString,
   fontDescriptionSetSize, showLayout, cairoContextSetFontOptions,
-  cairoContextGetFontOptions, layoutGetContext, createLayout)
+  layoutGetContext, createLayout)
 import Graphics.Rendering.Cairo hiding (x, y)
 
 import Control.Monad.State.Strict hiding (State)
@@ -159,8 +159,9 @@
   layout <- lift $ createLayout text
   context <- liftIO $ layoutGetContext layout
 
-  fo <- liftIO $ cairoContextGetFontOptions context
-
+  -- cannot use cairoContextGetFontOptions, as it may crash
+  -- see https://github.com/gtk2hs/gtk2hs/issues/258
+  fo <- fontOptionsCreate
   fontOptionsSetAntialias fo AntialiasDefault
   fontOptionsSetHintStyle fo HintStyleNone
   fontOptionsSetHintMetrics fo HintMetricsOff
diff --git a/xdot.cabal b/xdot.cabal
--- a/xdot.cabal
+++ b/xdot.cabal
@@ -1,5 +1,5 @@
 name:               xdot
-version:            0.3.0.2
+version:            0.3.0.3
 license:            BSD3
 license-file:       LICENSE
 category:           Graphs, Graphics
@@ -27,7 +27,7 @@
 Library
   Exposed-modules: Graphics.XDot.Parser Graphics.XDot.Viewer Graphics.XDot.Types
   Default-Language: Haskell2010
-  Build-depends: base >= 4.9.1 && < 4.14,
+  Build-depends: base >= 4.9.1 && < 4.15,
                  mtl >= 2.0,
                  cairo >= 0.12,
                  gtk3 >= 0.12,
