diff --git a/src/guichan/include/guichan/widgets/scrollarea.h b/src/guichan/include/guichan/widgets/scrollarea.h
index 4d15c2880..f1ef0b423 100644
--- a/src/guichan/include/guichan/widgets/scrollarea.h
+++ b/src/guichan/include/guichan/widgets/scrollarea.h
@@ -162,6 +162,10 @@ namespace gcn
          */
         virtual void setScrollPolicy(unsigned int hPolicy, unsigned int vPolicy);
 
+        virtual void scrollToBottom();
+
+        virtual void scrollToTop();
+
         /**
          * Sets the amount to scroll verticaly.
          *
diff --git a/src/guichan/widgets/scrollarea.cpp b/src/guichan/widgets/scrollarea.cpp
index f5b4f222d..e5caf35e4 100644
--- a/src/guichan/widgets/scrollarea.cpp
+++ b/src/guichan/widgets/scrollarea.cpp
@@ -181,6 +181,16 @@ namespace gcn
         checkPolicies();
     }
 
+    void ScrollArea::scrollToBottom()
+    {
+        setVerticalScrollAmount(getVerticalMaxScroll());
+    }
+
+    void ScrollArea::scrollToTop()
+    {
+        setVerticalScrollAmount(0);
+    }
+
     void ScrollArea::setVerticalScrollAmount(int vScroll)
     {
         int max = getVerticalMaxScroll();
diff --git a/src/tolua/ui.pkg b/src/tolua/ui.pkg
index 564c13127..89ccb18a4 100644
--- a/src/tolua/ui.pkg
+++ b/src/tolua/ui.pkg
@@ -325,6 +325,8 @@ class ScrollArea : public BasicContainer
 	virtual Widget *getContent();
 	virtual void setScrollbarWidth(int width);
 	virtual int getScrollbarWidth();
+        virtual void scrollToBottom();
+        virtual void scrollToTop();
 };
 
 class ImageWidget : public Widget