--- a/net/minecraft/world/level/block/BlockGrassPath.java
+++ b/net/minecraft/world/level/block/BlockGrassPath.java
@@ -44,6 +44,11 @@
 
     @Override
     public void tick(IBlockData iblockdata, WorldServer worldserver, BlockPosition blockposition, RandomSource randomsource) {
+        // CraftBukkit start - do not fade if the block is valid here
+        if (iblockdata.canSurvive(worldserver, blockposition)) {
+            return;
+        }
+        // CraftBukkit end
         BlockSoil.turnToDirt((Entity) null, iblockdata, worldserver, blockposition);
     }
 
