diff --git a/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala b/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
index 1bde367..902bb1d 100644
--- a/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
+++ b/scala-interpreter/src/main/scala-2.11/org/apache/toree/kernel/interpreter/scala/ScalaInterpreterSpecific.scala
@@ -247,10 +247,19 @@
   override def read(variableName: String): Option[AnyRef] = {
     require(iMain != null)
 
-    iMain.eval(variableName) match {
-      case null => None
-      case str: String if str.isEmpty => None
-      case res => Some(res)
+    try {
+      iMain.eval(variableName) match {
+        case null => None
+        case str: String if str.isEmpty => None
+        case res => Some(res)
+      }
+    } catch {
+      // if any error returns None
+      case e: Throwable => {
+        logger.debug(s"Error reading variable name: ${variableName}", e)
+        clearLastException()
+        None
+      }
     }
   }
 
diff --git a/scala-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/scala/ScalaInterpreter.scala b/scala-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/scala/ScalaInterpreter.scala
index d8a937a..cf763d8 100644
--- a/scala-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/scala/ScalaInterpreter.scala
+++ b/scala-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/scala/ScalaInterpreter.scala
@@ -204,6 +204,11 @@
     val text = new StringBuilder
 
     interpreterOutput.split("\n").foreach {
+
+      case HigherOrderFunction(name, func, funcType) =>
+
+        definitions.append(s"$name: $func$funcType").append("\n")
+
       case NamedResult(name, vtype, value) if read(name).nonEmpty =>
 
         val result = read(name)
@@ -409,6 +414,7 @@
 
 object ScalaInterpreter {
 
+  val HigherOrderFunction: Regex = """(\w+):\s+(\(\s*.*=>\s*\w+\))(\w+)\s*.*""".r
   val NamedResult: Regex = """(\w+):\s+([^=]+)\s+=\s*(.*)""".r
   val Definition: Regex = """defined\s+(\w+)\s+(.+)""".r
   val Import: Regex = """import\s+([\w\.,\{\}\s]+)""".r
diff --git a/scala-interpreter/src/test/scala-2.11/scala/ScalaInterpreterSpec.scala b/scala-interpreter/src/test/scala-2.11/scala/ScalaInterpreterSpec.scala
index fd0cf20..9d024f1 100644
--- a/scala-interpreter/src/test/scala-2.11/scala/ScalaInterpreterSpec.scala
+++ b/scala-interpreter/src/test/scala-2.11/scala/ScalaInterpreterSpec.scala
@@ -438,6 +438,21 @@
         interpreter.stop()
       }
 
+      it("should properly handle higher order functions") {
+        interpreter.start()
+        doReturn("myFunction: (x: Int, foo: Int => Int)Int").when(mockSparkIMain).eval("myFunction")
+
+        //  Results that match
+        interpreter.prepareResult("myFunction: (x: Int, foo: Int => Int)Int") should be(
+          (None,
+            Some("myFunction: (x: Int, foo: Int => Int)Int\n"),
+            None))
+
+
+        interpreter.stop()
+
+      }
+
       it("should truncate res results that have tuple values") {
         //val t: (String, Int) = ("hello",1)  ==>  t: (String, Int) = (hello,1)
         interpreter.start()
