diff --git a/gnome/src/messaging/message_tab.c b/gnome/src/messaging/message_tab.c
index 6676481ca1691c5c8cb12b6872252d2015ac2e83..649773c2d86c666e90f14c2ed9edd8ca3259d4d4 100644
--- a/gnome/src/messaging/message_tab.c
+++ b/gnome/src/messaging/message_tab.c
@@ -84,6 +84,7 @@ void append_message(message_tab* self, gchar* name, gchar* message)
 
    gtk_text_buffer_insert(self->buffer, &new_end, message, -1);
    gtk_text_buffer_insert(self->buffer, &new_end, "\n"   , -1);
+   gtk_text_view_scroll_to_iter(self->view,&new_end,FALSE,0,0,FALSE);
 }
 
 static gboolean on_enter(GtkEntry *entry, gpointer user_data)
@@ -127,6 +128,7 @@ message_tab* create_messaging_tab(const char* call_id,const char* title)
     self->title = title;
     self->buffer = text_buffer;
     self->entry = line_edit;
+    self->view = text_box_widget;
 
     int ret = gtk_notebook_append_page(GTK_NOTEBOOK(get_tab_box()),vbox,NULL);
     gtk_widget_show (vbox);
diff --git a/gnome/src/messaging/message_tab.h b/gnome/src/messaging/message_tab.h
index 7d76ad06096933a135937629892bae5cf7d0d194..aa2a023bb2ac64861dbdd86c92dec5a60e3b46eb 100644
--- a/gnome/src/messaging/message_tab.h
+++ b/gnome/src/messaging/message_tab.h
@@ -42,6 +42,7 @@ typedef struct {
    char *call_id;
    char *title;
    GtkTextBuffer *buffer;
+   GtkTextView *view;
    GtkWidget* entry;
 } message_tab;