diff --git a/morfette.cabal b/morfette.cabal
--- a/morfette.cabal
+++ b/morfette.cabal
@@ -1,5 +1,5 @@
 Name:       morfette
-Version:    0.3.4
+Version:    0.3.5
 Homepage:   http://sites.google.com/site/morfetteweb/
 Synopsis:   A tool for supervised learning of morphology
 Description: Morfette is a tool for supervised learning of inflectional
diff --git a/src/GramLab/Perceptron/Multiclass.hs b/src/GramLab/Perceptron/Multiclass.hs
--- a/src/GramLab/Perceptron/Multiclass.hs
+++ b/src/GramLab/Perceptron/Multiclass.hs
@@ -9,10 +9,11 @@
     )
 where
 
-import Data.Array.ST
+import Data.Array.ST 
 import qualified Data.Array.Unboxed as A
 import Control.Monad.ST
 import qualified Control.Monad.ST.Unsafe as STUnsafe
+import qualified Data.Array.Unsafe as ArrayUnsafe
 import Data.STRef
 import Control.Monad
 import GramLab.Perceptron.Vector
@@ -92,7 +93,7 @@
     let ((_,lo),(_,hi)) = A.bounds yss
         ys = [lo..hi]
     for_ (zip [0..] ss) $ \ (i,(x,y)) -> do
-      params' <- unsafeFreeze params
+      params' <- ArrayUnsafe.unsafeFreeze params
       let ys' = [ y | y <- ys , yss A.! (i,y) ] 
           y'= decode (MC params') ys' x
           phi_xy = phi x y
@@ -123,8 +124,8 @@
               for_ [1..epochs] $ 
                      \i -> do iter rate yss xys (c,params,params_a)
                               c' <- readSTRef c
-                              params' <- unsafeFreeze params
-                              params_a' <- unsafeFreeze params_a
+                              params' <- ArrayUnsafe.unsafeFreeze params
+                              params_a' <- ArrayUnsafe.unsafeFreeze params_a
                               let w  = (fromIntegral c',params',params_a')
                                   corr = sum 
                                          . map (\(j,(x,y)) -> 
