diff --git a/src/interpreter.cpp b/src/interpreter.cpp
index 0a4f59e..eb0fd66 100644
--- a/src/interpreter.cpp
+++ b/src/interpreter.cpp
@@ -150,6 +150,12 @@
     case yang::NodeTypes::List:
         ss << "list";
         break;
+    case yang::NodeTypes::Action:
+    case yang::NodeTypes::AnyXml:
+    case yang::NodeTypes::LeafList:
+    case yang::NodeTypes::Notification:
+    case yang::NodeTypes::Rpc:
+        throw std::logic_error("describe got an rpc or an action: this should never happen, because their paths cannot be parsed");
     }
 
     if (!m_datastore.schema()->isConfig(path)) {
diff --git a/src/schema.hpp b/src/schema.hpp
index 052386e..f11265f 100644
--- a/src/schema.hpp
+++ b/src/schema.hpp
@@ -22,7 +22,12 @@
     Container,
     PresenceContainer,
     List,
-    Leaf
+    Leaf,
+    Rpc,
+    Action,
+    Notification,
+    AnyXml,
+    LeafList
 };
 
 enum class Status {
diff --git a/src/yang_schema.cpp b/src/yang_schema.cpp
index 2c8b30d..b243fd2 100644
--- a/src/yang_schema.cpp
+++ b/src/yang_schema.cpp
@@ -344,11 +344,7 @@
     for (const auto& node : nodes) {
         if (node->module()->name() == "ietf-yang-library"sv)
             continue;
-        // FIXME: This is a temporary fix to filter out RPC nodes in
-        // tab-completion. The method will have to be changed/reworked when RPC
-        // support gets added.
-        if (node->nodetype() == LYS_RPC)
-            continue;
+
         if (recursion == Recursion::Recursive) {
             for (auto it : node->tree_dfs()) {
                 res.insert(ModuleNodePair(boost::none, it->path(LYS_PATH_FIRST_PREFIX)));
@@ -420,6 +416,16 @@
         return yang::NodeTypes::Leaf;
     case LYS_LIST:
         return yang::NodeTypes::List;
+    case LYS_RPC:
+        return yang::NodeTypes::Rpc;
+    case LYS_ACTION:
+        return yang::NodeTypes::Action;
+    case LYS_NOTIF:
+        return yang::NodeTypes::Notification;
+    case LYS_ANYXML:
+        return yang::NodeTypes::AnyXml;
+    case LYS_LEAFLIST:
+        return yang::NodeTypes::LeafList;
     default:
         throw InvalidNodeException(); // FIXME: Implement all types.
     }
