diff --git a/src/main/scala/leon/Main.scala b/src/main/scala/leon/Main.scala
index 7c6b584782a59742307284b99419095e59e5d7ee..b29f017c66eb80fb6e8fd6bb601c773cb1927a0c 100644
--- a/src/main/scala/leon/Main.scala
+++ b/src/main/scala/leon/Main.scala
@@ -17,7 +17,7 @@ object Main {
       xlang.ImperativeCodeElimination,
       xlang.FixReportLabels,
       xlang.XLangDesugaringPhase,
-      new purescala.FunctionClosure,
+      purescala.FunctionClosure,
       synthesis.SynthesisPhase,
       termination.TerminationPhase,
       verification.AnalysisPhase,
diff --git a/src/main/scala/leon/purescala/FunctionClosure.scala b/src/main/scala/leon/purescala/FunctionClosure.scala
index 4ee1f89386468ab0582ad461da7a897c5340c4a2..8e119a30076abe8875eebef9bd3f21744fc39bba 100644
--- a/src/main/scala/leon/purescala/FunctionClosure.scala
+++ b/src/main/scala/leon/purescala/FunctionClosure.scala
@@ -12,7 +12,7 @@ import leon.purescala.Common.Identifier
 import leon.purescala.Types.TypeParameter
 import utils.GraphOps._
 
-class FunctionClosure extends TransformationPhase {
+object FunctionClosure extends TransformationPhase {
 
   override val name: String = "Function Closure"
   override val description: String = "Closing function with its scoping variables"
diff --git a/src/main/scala/leon/utils/PreprocessingPhase.scala b/src/main/scala/leon/utils/PreprocessingPhase.scala
index 672999a10d5444fc62465df0c09b34ea1f68a43c..38b770ba19a468977cf8018c2ac7d438140525a5 100644
--- a/src/main/scala/leon/utils/PreprocessingPhase.scala
+++ b/src/main/scala/leon/utils/PreprocessingPhase.scala
@@ -48,7 +48,7 @@ class PreprocessingPhase(private val desugarXLang: Boolean = false) extends Leon
     val phases =
       pipeBegin andThen
       pipeX andThen
-      new FunctionClosure andThen
+      FunctionClosure andThen
       AdaptationPhase andThen
       debugTrees("Program after pre-processing")