diff --git a/index.html b/index.html
index fe10c2e..41f8137 100644
--- a/index.html
+++ b/index.html
@@ -245,16 +245,6 @@ $ openssl req -nodes -newkey rsa:2048 -keyout relay.pem -x509 -days 365 -out rel
                       </div>
                     </form>
                   </li>
-                  <li class="">
-                    <form class="form-inline" role="form">
-                      <div class="checkbox">
-                        <label>
-                          &nbsp;&nbsp;lines fetched initially
-                          <input type="text" ng-model="lines" class="input-sm col-md-3">
-                        </label>
-                      </div>
-                    </form>
-                  </li>
                 </ul>
               </div>
               <a ng-click="disconnect()" title="Disconnect from WeeChat">
@@ -289,8 +279,12 @@ $ openssl req -nodes -newkey rsa:2048 -keyout relay.pem -x509 -days 365 -out rel
         <table ng-class="{'notimestamp':notimestamp}">
           <tbody>
             <tr class="bufferline">
-              <a class="fetchmorelines" ng-click="fetchMoreLines()" ng-hide="loadingLines">Fetch more lines</a>
-              <span ng-show="loadingLines">Fetching more lines...</span>
+              <td class="time"><span class="date"> </span></td>
+              <td class="prefix"> </td>
+              <td class="message">
+                <a class="fetchmorelines" ng-click="fetchMoreLines()" ng-hide="loadingLines">Fetch more lines</a>
+                <span ng-show="loadingLines">Fetching more lines...</span>
+              </td>
             </tr>
           </tbody>
           <tbody ng-repeat="bufferline in (bufferlines = activeBuffer().lines)">
diff --git a/js/glowingbear.js b/js/glowingbear.js
index e53e2ef..148957b 100644
--- a/js/glowingbear.js
+++ b/js/glowingbear.js
@@ -535,7 +535,6 @@ weechat.controller('WeechatCtrl', ['$rootScope', '$scope', '$store', '$timeout',
     $store.bind($scope, "port", "9001");
     $store.bind($scope, "proto", "weechat");
     $store.bind($scope, "ssl", false);
-    $store.bind($scope, "lines", "40");
     $store.bind($scope, "savepassword", false);
     if ($scope.savepassword) {
         $store.bind($scope, "password", "");
@@ -594,6 +593,15 @@ weechat.controller('WeechatCtrl', ['$rootScope', '$scope', '$store', '$timeout',
         }
     };
 
+
+    // Calculate number of lines to fetch
+    $scope.lines = function() {
+        var lineHeight = document.querySelector(".bufferline").clientHeight;
+        // I would have used document.querySelector("#bufferlines").clientHeight and added 5 to the total result, but that provides incorrect values on mobile
+        var areaHeight = document.body.clientHeight;
+        return Math.ceil(areaHeight/lineHeight);
+    }();
+
     $rootScope.loadingLines = false;
     $scope.fetchMoreLines = function() {
         connection.fetchMoreLines($scope.lines);