diff --git a/src/tree_schema.c b/src/tree_schema.c
index 312c1d2..7f8bf97 100644
--- a/src/tree_schema.c
+++ b/src/tree_schema.c
@@ -2005,6 +2005,10 @@
     lydict_remove(ctx, dev->dsc);
     lydict_remove(ctx, dev->ref);
 
+    if (!dev->deviate) {
+        return ;
+    }
+
     /* the module was freed, but we only need the context from orig_node, use ours */
     if (dev->deviate[0].mod == LY_DEVIATE_NO) {
         /* it's actually a node subtree, we need to update modules on all the nodes :-/ */
@@ -3209,6 +3213,10 @@
     char *parent_path;
     struct lys_node *target;
 
+    if (!dev->deviate) {
+        return ;
+    }
+
     if (dev->deviate[0].mod == LY_DEVIATE_NO) {
         if (dev->orig_node) {
             /* removing not-supported deviation ... */
@@ -3333,8 +3341,13 @@
 
     /* remove applied deviations */
     for (i = 0; i < module->deviation_size; ++i) {
+        if (module->deviation[i].orig_node) {
+            target_mod = lys_node_module(module->deviation[i].orig_node);
+        } else {
+            target_mod = (struct lys_module *)lys_get_import_module(module, NULL, 0, module->deviation[i].target_name + 1,
+                                                                    strcspn(module->deviation[i].target_name, ":") - 1);
+        }
         lys_switch_deviation(&module->deviation[i], module);
-        target_mod = lys_node_module(module->deviation[i].orig_node);
         assert(target_mod->deviated == 1);
 
         /* clear the deviation flag if possible */
