diff --git a/src/main/scala/leon/solvers/smtlib/SMTLIBSolver.scala b/src/main/scala/leon/solvers/smtlib/SMTLIBSolver.scala
index f82df1a3bc35f44bc2088a7983e680d6d42bfa9b..275013666f21fd7d21b9ae72cf5c39d3cf4a0254 100644
--- a/src/main/scala/leon/solvers/smtlib/SMTLIBSolver.scala
+++ b/src/main/scala/leon/solvers/smtlib/SMTLIBSolver.scala
@@ -111,7 +111,9 @@ abstract class SMTLIBSolver(val context: LeonContext, val program: Program)
 
   protected val library = program.library
 
-  protected def id2sym(id: Identifier): SSymbol = SSymbol(id.uniqueNameDelimited("!"))
+  protected def id2sym(id: Identifier): SSymbol = {
+    SSymbol(id.uniqueNameDelimited("!").replace("|", "$pipe").replace("\\", "$backslash"))
+  }
 
   protected def freshSym(id: Identifier): SSymbol = freshSym(id.name)
   protected def freshSym(name: String): SSymbol = id2sym(FreshIdentifier(name))