diff --git a/src/main/scala/leon/purescala/FunctionClosure.scala b/src/main/scala/leon/purescala/FunctionClosure.scala
index ba3353e322919bcc8e4a8d3cf5ce95417bd6853c..c67e222d85339cfc27a59ad4a9b10d57b080f3ea 100644
--- a/src/main/scala/leon/purescala/FunctionClosure.scala
+++ b/src/main/scala/leon/purescala/FunctionClosure.scala
@@ -23,7 +23,7 @@ object FunctionClosure extends TransformationPhase {
     * The strategy is as follows: Remove one layer of nested FunDef's, then call
     * close recursively on the new functions.
     */
-  private def close(fd: FunDef): Seq[FunDef] = { 
+  def close(fd: FunDef): Seq[FunDef] = {
 
     // Directly nested functions with their p.c.
     val nestedWithPathsFull = {
diff --git a/src/test/scala/leon/unit/purescala/FunctionClosureSuite.scala b/src/test/scala/leon/unit/purescala/FunctionClosureSuite.scala
new file mode 100644
index 0000000000000000000000000000000000000000..c7274e56041a7ae4e65594187a063c9c196a5bf3
--- /dev/null
+++ b/src/test/scala/leon/unit/purescala/FunctionClosureSuite.scala
@@ -0,0 +1,28 @@
+/* Copyright 2009-2016 EPFL, Lausanne */
+
+package leon.unit.utils
+
+import leon.test._
+import leon.purescala.Common._
+import leon.purescala.Expressions._
+import leon.purescala.Types._
+import leon.purescala.TypeOps.isSubtypeOf
+import leon.purescala.Definitions._
+import leon.purescala.ExprOps._
+import leon.purescala.FunctionClosure
+
+import org.scalatest._
+
+class FunctionClosureSuite extends FunSuite with helpers.ExpressionsDSL {
+
+  val fd1 = new FunDef(FreshIdentifier("f"), Seq(), Seq(ValDef(x.id)), IntegerType)
+  fd1.body = Some(x)
+
+  test("close does not modify a function without nested functions") {
+    val cfd1 = FunctionClosure.close(fd1)
+    assert(cfd1.size === 1)
+    assert(fd1 === cfd1.head)
+    assert(fd1.body === cfd1.head.body)
+  }
+
+}