Index: src/map/atcommand.c
===================================================================
--- src/map/atcommand.c	(revision 17291)
+++ src/map/atcommand.c	(working copy)
@@ -5598,7 +5598,6 @@
  * Turns on/off Autotrade for a specific player
  *------------------------------------------*/
 ACMD_FUNC(autotrade) {
-	int i;
 	nullpo_retr(-1, sd);
 
 	if( map[sd->bl.m].flag.autotrade != battle_config.autotrade_mapflag ) {
@@ -8763,7 +8762,6 @@
 
 /* Channel System [Ind] */
 ACMD_FUNC(join){
-	struct Channel *channel;
 	char chname[CHAN_NAME_LENGTH], pass[CHAN_NAME_LENGTH];
 
 	if( !message || !*message || sscanf(message, "%s %s", chname, pass) < 1 ) {
Index: src/map/channel.c
===================================================================
--- src/map/channel.c	(revision 17291)
+++ src/map/channel.c	(working copy)
@@ -264,7 +264,7 @@
 	}
 
 	idb_remove(channel->users,sd->status.char_id); //remove user for channel user list
-	if( !db_size(channel->users) && !(flag&1) )
+	if( !db_size(channel->users) && !(flag&1) && channel->type != CHAN_TYPE_PUBLIC )
 		channel_delete(channel);
 
 	return 0;
@@ -1145,7 +1145,6 @@
 void do_final_channel(void) {
 	DBIterator *iter;
 	struct Channel *channel;
-	struct guild *g;
 	int i=0;
 
 	//delete all in remaining chan db
Index: src/map/status.c
===================================================================
--- src/map/status.c	(revision 17291)
+++ src/map/status.c	(working copy)
@@ -10925,6 +10925,7 @@
 			case SC_ABUNDANCE:
 			case SC_CURSEDCIRCLE_ATKER:
 			case SC_CURSEDCIRCLE_TARGET:
+			case SC_PUSH_CART:
 				continue;
 
 		 //Debuffs that can be removed.