diff --git a/snap-app.cabal b/snap-app.cabal
--- a/snap-app.cabal
+++ b/snap-app.cabal
@@ -1,5 +1,5 @@
 name:                snap-app
-version:             0.2.1
+version:             0.2.2
 synopsis:            Simple modules for writing apps with Snap, abstracted from hpaste.
 homepage:            Simple modules for writing apps with Snap, abstracted from hpaste.
 license:             BSD3
diff --git a/src/Snap/App/Controller.hs b/src/Snap/App/Controller.hs
--- a/src/Snap/App/Controller.hs
+++ b/src/Snap/App/Controller.hs
@@ -25,7 +25,6 @@
 import Control.Monad.Reader       (runReaderT)
 import Data.ByteString            (ByteString)
 import Data.ByteString.UTF8       (toString)
-import Data.Maybe
 import Data.String
 import Data.Pagination
 import Network.URI
@@ -104,9 +103,10 @@
 getMyURI :: AppConfig c => Controller c s URI
 getMyURI = do
   domain <- env (getConfigDomain . controllerStateConfig)
-  fmap (fromJust .
-	parseURI .
-	(("http://" ++ domain) ++) .
-	toString .
-	rqURI)
-       getRequest
+  result <- fmap (parseURI . (("http://" ++ domain) ++) . toString . rqURI)
+                 getRequest
+  case result of
+    Nothing -> case parseURI ("http://" ++ domain) of
+      Nothing -> error $ "Unable to parse my own domain! It's this: " ++ domain
+      Just d -> return d
+    Just d -> return d
