diff --git a/src/ast_handlers.hpp b/src/ast_handlers.hpp
index e583207..c4658e4 100644
--- a/src/ast_handlers.hpp
+++ b/src/ast_handlers.hpp
@@ -236,6 +236,8 @@
 
 struct cdPath_class;
 
+struct getPath_class;
+
 struct set_class {
     template <typename Iterator, typename Exception, typename Context>
     x3::error_handler_result on_error(Iterator&, Iterator const&, Exception const& x, Context const& context)
diff --git a/src/grammars.hpp b/src/grammars.hpp
index 86dda33..161a515 100644
--- a/src/grammars.hpp
+++ b/src/grammars.hpp
@@ -64,7 +64,7 @@
     delete_::name >> space_separator > (presenceContainerPath | listInstancePath | leafListElementPath | writableLeafPath);
 
 auto const get_def =
-    get_::name >> -(space_separator >> ((dataPathListEnd | dataPath) | (module >> "*")));
+    get_::name >> -(space_separator >> getPath);
 
 auto const set_def =
     set_::name >> space_separator > writableLeafPath > space_separator > leaf_data;
diff --git a/src/path_parser.hpp b/src/path_parser.hpp
index 65e5140..b3e9418 100644
--- a/src/path_parser.hpp
+++ b/src/path_parser.hpp
@@ -15,6 +15,7 @@
 namespace x3 = boost::spirit::x3;
 
 x3::rule<cdPath_class, dataPath_> const cdPath = "cdPath";
+x3::rule<getPath_class, decltype(get_::m_path)> const getPath = "getPath";
 x3::rule<rpcPath_class, dataPath_> const rpcPath = "rpcPath";
 x3::rule<presenceContainerPath_class, dataPath_> const presenceContainerPath = "presenceContainerPath";
 x3::rule<listInstancePath_class, dataPath_> const listInstancePath = "listInstancePath";
@@ -454,6 +455,11 @@
     return nodeType != yang::NodeTypes::Rpc && nodeType != yang::NodeTypes::Action;
 };
 
+auto const getPath_def =
+    PathParser<PathParserMode::DataPathListEnd, CompletionMode::Data>{noRpcOrAction} |
+    PathParser<PathParserMode::DataPath, CompletionMode::Data>{noRpcOrAction} |
+    (module >> "*");
+
 auto const cdPath_def =
     PathParser<PathParserMode::DataPath, CompletionMode::Data>{noRpcOrAction};
 
@@ -480,6 +486,7 @@
 BOOST_SPIRIT_DEFINE(key_identifier)
 BOOST_SPIRIT_DEFINE(listSuffix)
 BOOST_SPIRIT_DEFINE(cdPath)
+BOOST_SPIRIT_DEFINE(getPath)
 BOOST_SPIRIT_DEFINE(presenceContainerPath)
 BOOST_SPIRIT_DEFINE(listInstancePath)
 BOOST_SPIRIT_DEFINE(leafListElementPath)
diff --git a/tests/path_completion.cpp b/tests/path_completion.cpp
index 0b0d3f8..0585be0 100644
--- a/tests/path_completion.cpp
+++ b/tests/path_completion.cpp
@@ -359,5 +359,12 @@
         expectedContextLength = 0;
     }
 
+    SECTION("rpc nodes not completed for the get command")
+    {
+        input = "get ";
+        expectedCompletions = {"example:addresses", "example:ano/", "example:anoda/", "example:bota/", "example:leafInt ", "example:list", "example:ovoce", "example:ovocezelenina", "example:readonly ", "example:twoKeyList", "second:amelie/"};
+        expectedContextLength = 0;
+    }
+
     REQUIRE(parser.completeCommand(input, errorStream) == (Completions{expectedCompletions, expectedContextLength}));
 }
