diff --git a/src/ast_path.cpp b/src/ast_path.cpp
index e943d0e..bb14425 100644
--- a/src/ast_path.cpp
+++ b/src/ast_path.cpp
@@ -84,6 +84,18 @@
         return node.m_name;
     }
 };
+
+std::string escapeListKeyString(const std::string& what)
+{
+    // If we have both single and double quote, then we're screwed, but that "shouldn't happen"
+    // in <= YANG 1.1 due to limitations in XPath 1.0.
+    if (what.find('\'') != std::string::npos) {
+        return '\"' + what + '\"';
+    } else {
+        return '\'' + what + '\'';
+    }
+}
+
 struct nodeToDataStringVisitor : public boost::static_visitor<std::string> {
     std::string operator()(const listElement_& node) const
     {
@@ -91,7 +103,7 @@
         res << node.m_name + "[";
         std::transform(node.m_keys.begin(), node.m_keys.end(),
                 std::experimental::make_ostream_joiner(res, ' '),
-                [] (const auto& it) { return it.first + "=" + '\'' + it.second + '\''; });
+                [] (const auto& it) { return it.first + "=" + escapeListKeyString(it.second); });
         res << "]";
         return res.str();
     }
