diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
index c8e7676f6af908a0f38f1391edae472703819ee8..b431fcfb6ef8ed3b994867783a0202e900eb5afd 100644
--- a/fs/ext4/extents.c
+++ b/fs/ext4/extents.c
@@ -2116,6 +2116,7 @@ int ext4_ext_insert_extent(handle_t *handle, struct inode *inode,
 				       ppath, newext);
 	if (err)
 		goto cleanup;
+	path = *ppath;
 	depth = ext_depth(inode);
 	eh = path[depth].p_hdr;