Index: demux/avi/avi.c
===================================================================
--- demux/avi/avi.c (revision 23826)
+++ demux/avi/avi.c (working copy)
@@ -255,7 +255,7 @@
     p_sys->track    = NULL;
     p_sys->meta     = NULL;
 
-    stream_Control( p_demux->s, STREAM_CAN_FASTSEEK, &p_sys->b_seekable );
+    stream_Control( p_demux->s, STREAM_CAN_SEEK, &p_sys->b_seekable );
 
     p_demux->pf_control = Control;
     p_demux->pf_demux = Demux_Seekable;
Index: demux/avi/libavi.c
===================================================================
--- demux/avi/libavi.c  (revision 23826)
+++ demux/avi/libavi.c  (working copy)
@@ -126,7 +126,7 @@
         return VLC_EGENERIC;
     }
 
-    stream_Control( s, STREAM_CAN_FASTSEEK, &b_seekable );
+    stream_Control( s, STREAM_CAN_SEEK, &b_seekable );
 
     p_container->list.i_type = GetFOURCC( p_peek + 8 );
 
Index: access/ftp.c
===================================================================
--- access/ftp.c    (revision 23826)
+++ access/ftp.c    (working copy)
@@ -558,10 +561,11 @@
         case ACCESS_SET_SEEKPOINT:
         case ACCESS_SET_PRIVATE_ID_STATE:
         case ACCESS_GET_CONTENT_TYPE:
+        case ACCESS_GET_META:
             return VLC_EGENERIC;
 
         default:
-            msg_Warn( p_access, "unimplemented query in control" );
+            msg_Warn( p_access, "unimplemented query in control: %d", i_query);
             return VLC_EGENERIC;
 
     }
@@ -777,9 +781,12 @@
     {
         net_Close( p_sys->fd_data );
         p_sys->fd_data = -1;
-        ftp_ReadCommand( p_access, p_sys, NULL, NULL );
+        int i_answer;
+        ftp_ReadCommand( p_access, p_sys, &i_answer, NULL );
+        if ( i_answer != 227 ) /* If answer is from the previous command, not Abort successful - read next command */
+            ftp_ReadCommand( p_access, p_sys, NULL, NULL );
+
     }
-    ftp_ReadCommand( p_access, p_sys, NULL, NULL );
 
     return VLC_SUCCESS;
 }
