diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index 5e0e6bcf67b98b89b9d95b96c7a85baccbf9d42e..2564cbfdf417bf8028baa0f09be33a33678f1d28 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -4047,7 +4047,8 @@ static void shrink_delalloc(struct btrfs_root *root, u64 to_reclaim, u64 orig,
 	if (delalloc_bytes == 0) {
 		if (trans)
 			return;
-		btrfs_wait_all_ordered_extents(root->fs_info);
+		if (wait_ordered)
+			btrfs_wait_all_ordered_extents(root->fs_info);
 		return;
 	}