diff --git a/db/pre-re/skill_unit_db.txt b/db/pre-re/skill_unit_db.txt
index 9b62846587..a4a6f26fa0 100644
--- a/db/pre-re/skill_unit_db.txt
+++ b/db/pre-re/skill_unit_db.txt
@@ -20,7 +20,7 @@
 //      0x00800(UF_DUALMODE)			Spell has effects both at an interval and when you step in/out
 //      0x01000(UF_NOKNOCKBACK)			Cannot be knocked back (only unit that can be damaged)
 //      0x02000(UF_RANGEDSINGLEUNIT)	Layout hack, use layout range propriety but only display center.
-//      0x04000(UF_NONE)				Free
+//      0x04000(UF_CRAZYWEED_IMMUNE)	Immune to GN_CRAZYWEED removal
 //      0x08000(UF_REM_FIRERAIN)		Removed if be overlapped by RL_FIRE_RAIN
 //      0x10000(UF_KNOCKBACK_GROUP) 	Knock back a whole skill group (by default, skill unit is knocked back each unit)
 //      0x20000(UF_HIDDEN_TRAP) 		Hidden trap, see 'traps_setting' skill config to enable this flag
diff --git a/db/re/skill_unit_db.txt b/db/re/skill_unit_db.txt
index e9319c3f85..b83eaca77e 100644
--- a/db/re/skill_unit_db.txt
+++ b/db/re/skill_unit_db.txt
@@ -20,7 +20,7 @@
 //      0x00800(UF_DUALMODE)			Spell has effects both at an interval and when you step in/out
 //      0x01000(UF_NOKNOCKBACK)			Cannot be knocked back (only unit that can be damaged)
 //      0x02000(UF_RANGEDSINGLEUNIT)	Layout hack, use layout range propriety but only display center.
-//      0x04000(UF_NONE)				Free
+//      0x04000(UF_CRAZYWEED_IMMUNE)	Immune to GN_CRAZYWEED removal
 //      0x08000(UF_REM_FIRERAIN)		Removed if be overlapped by RL_FIRE_RAIN
 //      0x10000(UF_KNOCKBACK_GROUP) 	Knock back a whole skill group (by default, skill unit is knocked back each unit)
 //      0x20000(UF_HIDDEN_TRAP) 		Hidden trap, see 'traps_setting' skill config to enable this flag
diff --git a/src/map/skill.c b/src/map/skill.c
index d5f307f968..9a3481988d 100755
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -17127,9 +17127,11 @@ static int skill_cell_overlap(struct block_list *bl, va_list ap)
 				return 1;
 			}
 			break;
+		case GN_CRAZYWEED_ATK:
+			if (skill_get_unit_flag(unit->group->skill_id)&UF_CRAZYWEED_IMMUNE)
+				break;
 		case HW_GANBANTEIN:
 		case LG_EARTHDRIVE:
-		case GN_CRAZYWEED_ATK:
 			// Officially songs/dances are removed
 			skill_delunit(unit);
 			return 1;
diff --git a/src/map/skill.h b/src/map/skill.h
index 872e28b6d9..a5df73bb7d 100644
--- a/src/map/skill.h
+++ b/src/map/skill.h
@@ -322,7 +322,7 @@ enum e_skill_unit_flag {
 	UF_DUALMODE         = 0x00800,	// Spells should trigger both ontimer and onplace/onout/onleft effects.
 	UF_NOKNOCKBACK      = 0x01000,	// Skill unit cannot be knocked back
 	UF_RANGEDSINGLEUNIT = 0x02000,	// hack for ranged layout, only display center
-	UF_FREE             = 0x04000,	// Free
+	UF_CRAZYWEED_IMMUNE = 0x04000,	// Immune to Crazy Weed removal
 	UF_REM_FIRERAIN     = 0x08000,	// removed by Fire Rain
 	UF_KNOCKBACK_GROUP  = 0x10000,	// knockback skill unit with its group instead of single unit
 	UF_HIDDEN_TRAP      = 0x20000,	// Hidden trap [Cydh]