diff --git a/src/ast_path.cpp b/src/ast_path.cpp
index 7ab9b18..9c77f35 100644
--- a/src/ast_path.cpp
+++ b/src/ast_path.cpp
@@ -272,6 +272,9 @@
             res = joinPaths(res, (prefixes == Prefixes::Always ? path.m_nodes.at(0).m_prefix.value().m_name + ":" : "") + std::visit(nodeToDataStringVisitor(), it.m_suffix));
         }
     }
+    if (path.m_trailingSlash == TrailingSlash::Present) {
+        res += "/";
+    }
 
     return res;
 }
diff --git a/src/path_parser.hpp b/src/path_parser.hpp
index c3df931..29dbd04 100644
--- a/src/path_parser.hpp
+++ b/src/path_parser.hpp
@@ -30,6 +30,7 @@
 x3::rule<createValueSuggestions_class, x3::unused_type> const createValueSuggestions = "createValueSuggestions";
 x3::rule<suggestKeysEnd_class, x3::unused_type> const suggestKeysEnd = "suggestKeysEnd";
 x3::rule<class leafListValue_class, leaf_data_> const leafListValue = "leafListValue";
+auto pathEnd = x3::rule<class PathEnd>{"pathEnd"} = &space_separator | x3::eoi;
 
 enum class NodeParserMode {
     CompleteDataNode,
@@ -218,7 +219,15 @@
             }
 
             if (res) {
-                parserContext.pushPathFragment(attr);
+                // After a path fragment, there can only be a slash or a "pathEnd". If this is not the case
+                // then that means there are other unparsed characters after the fragment. In that case the parsing
+                // needs to fail.
+                res = (pathEnd | &char_('/')).parse(begin, end, ctx, rctx, x3::unused);
+                if (!res) {
+                    begin = saveIter;
+                } else {
+                    parserContext.pushPathFragment(attr);
+                }
             }
 
             return res;
@@ -270,7 +279,6 @@
         initializePath.parse(begin, end, ctx, rctx, x3::unused);
         dataPath_ attrData;
 
-        auto pathEnd = x3::rule<class PathEnd>{"pathEnd"} = &space_separator | x3::eoi;
         // absoluteStart has to be separate from the dataPath parser,
         // otherwise, if the "dataNode % '/'" parser fails, the begin iterator
         // gets reverted to before the starting slash.
