diff --git a/report.cgi b/report.cgi
index 5778841b378fe1aa87e9e0600b84f07fbfaf93aa..0241f42b544ef250793839ff9722f074e02ee98c 100755
--- a/report.cgi
+++ b/report.cgi
@@ -103,20 +103,18 @@ if (!($col_field || $row_field || $tbl_field)) {
     ThrowUserError("no_axes_defined");
 }
 
-my $width = $cgi->param('width');
-my $height = $cgi->param('height');
+# There is no UI for these parameters anymore,
+# but they are still here just in case.
+my $width = $cgi->param('width') || 1024;
+my $height = $cgi->param('height') || 600;
 
-if (defined($width)) {
-   (detaint_natural($width) && $width > 0)
-     || ThrowCodeError("invalid_dimensions");
-   $width <= 2000 || ThrowUserError("chart_too_large");
-}
+(detaint_natural($width) && $width > 0)
+  || ThrowCodeError("invalid_dimensions");
+$width <= 2000 || ThrowUserError("chart_too_large");
 
-if (defined($height)) {
-   (detaint_natural($height) && $height > 0)
-     || ThrowCodeError("invalid_dimensions");
-   $height <= 2000 || ThrowUserError("chart_too_large");
-}
+(detaint_natural($height) && $height > 0)
+  || ThrowCodeError("invalid_dimensions");
+$height <= 2000 || ThrowUserError("chart_too_large");
 
 # These shenanigans are necessary to make sure that both vertical and 
 # horizontal 1D tables convert to the correct dimension when you ask to
@@ -244,7 +242,7 @@ $vars->{'row_names'} = \@row_names;
 $vars->{'tbl_names'} = \@tbl_names;
 
 # Below a certain width, we don't see any bars, so there needs to be a minimum.
-if ($width && $cgi->param('format') eq "bar") {
+if ($cgi->param('format') eq "bar") {
     my $min_width = (scalar(@col_names) || 1) * 20;
 
     if (!$cgi->param('cumulate')) {
@@ -254,9 +252,8 @@ if ($width && $cgi->param('format') eq "bar") {
     $vars->{'min_width'} = $min_width;
 }
 
-$vars->{'width'} = $width if $width;
-$vars->{'height'} = $height if $height;
-
+$vars->{'width'} = $width;
+$vars->{'height'} = $height;
 $vars->{'query'} = $query;
 $vars->{'saved_report_id'} = $cgi->param('saved_report_id');
 $vars->{'debug'} = $cgi->param('debug');
diff --git a/skins/standard/IE-fixes.css b/skins/standard/IE-fixes.css
index 9574d5f9e9818aa47cd9ce98a05c18f6e0c9cff5..65f33a63773beea43a7a80ccb34756bdb8061e33 100644
--- a/skins/standard/IE-fixes.css
+++ b/skins/standard/IE-fixes.css
@@ -52,3 +52,7 @@ form#Create #comp_desc {
     /* color:inherit */
     color: expression(this.parentNode.currentStyle['color']);
 }
+
+#graphical_report {
+  width: auto\9; /* IE6-8 */
+}
diff --git a/skins/standard/reports.css b/skins/standard/reports.css
index 065fe72bbdcb3b097e64886444e823f22a02a74c..97ef316ba0e21efdfca0b23b02188494feb4d7bd 100644
--- a/skins/standard/reports.css
+++ b/skins/standard/reports.css
@@ -77,3 +77,28 @@
   padding-bottom: .5em;
   color: #333;
 }
+
+.t1 {
+  background-color: #ffffff; /* white */
+}
+
+.t2 {
+  background-color: #dfefff;  /* light blue */
+}
+
+.t3 {
+  background-color: #dddddd;  /* grey */
+}
+
+.t4 {
+  background-color: #c3d3ed; /* darker blue */
+}
+
+.ttotal, .ttotal td {
+  background-color: #cfffdf; /* light green */
+}
+
+#graphical_report {
+  max-width: 100%;
+  height: auto;
+}
diff --git a/template/en/default/reports/report.html.tmpl b/template/en/default/reports/report.html.tmpl
index 76049d04ed1faf536c44b528a4100b5b97a2f268..8219ebd89fb82b94a737a9ccc3b93bd33f660f02 100644
--- a/template/en/default/reports/report.html.tmpl
+++ b/template/en/default/reports/report.html.tmpl
@@ -21,8 +21,8 @@
   # cumulate: boolean. For bar/line charts, whether to cumulate data sets.
   #%]
 
-[% DEFAULT width = 600
-           height = 350 
+[% DEFAULT width = 1024
+           height = 600
 %]
 
 [% IF min_width AND width < min_width %]
@@ -55,14 +55,8 @@
 [% time = time FILTER time('%Y-%m-%d %H:%M:%S') FILTER html %]
 
 [% PROCESS global/header.html.tmpl 
-  style = "
-    .t1     { background-color: #ffffff } /* white       */
-    .t2     { background-color: #dfefff } /* light blue  */
-    .t3     { background-color: #dddddd } /* grey        */
-    .t4     { background-color: #c3d3ed } /* darker blue */
-    .ttotal, .ttotal td { background-color: #cfffdf } /* light green */
-  "
   header_addl_info = time
+  style_urls = ['skins/standard/reports.css']
   yui = ['datatable']
 %]
 
@@ -98,57 +92,29 @@
               [% END %]
             [% END %]
           [% END %]
-        [% END %]width=[% width %]&amp;height=[% height %]      
+        [% END %]width=[% width %]&amp;height=[% height %]
       [% END %]
-      
-      <img alt="Graphical report results" src="[% imageurl %]"
-        width="[% width %]" height="[% height %]">
+
+      <img id="graphical_report" alt="Graphical report results" src="[% imageurl %]">
     [% END %]
     <br>
   [% END %]  
 
-  <table>
-    <tr>
-      <td>
-        [% formats = [ { name => "pie",   description => "Pie" },
-                       { name => "bar",   description => "Bar" },
-                       { name => "line",  description => "Line" },
-                       { name => "table", description => "Table" } ] %]
-
-        [% formaturl = "report.cgi?$switchbase&amp;width=$width" _ 
-                       "&amp;height=$height&amp;action=wrap" %]
-        [% FOREACH other_format = formats %]
-          [% NEXT IF other_format.name == "pie" AND row_field AND col_field %]
-          [% UNLESS other_format.name == format %]
-            <a href="[% formaturl %]&amp;format=[% other_format.name %]">
-          [% END %]
-          [% other_format.description FILTER html %]
-          [% "</a>" UNLESS other_format.name == format %] | 
-        [% END %]
-        <a href="[% formaturl %]&amp;ctype=csv&amp;format=table">CSV</a> 
-      </td>
-      
-      [% IF format != "table" %]
-        <td>
-          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-        </td>
-
-        [% sizeurl = BLOCK %]report.cgi?
-          [% switchbase %]&amp;action=wrap&amp;format=
-          [% format FILTER html %][% END %]
-        <td align="center">
-          <a href="[% sizeurl %]&amp;width=[% width %]&amp;height=
-                   [% height + 100 %]">Taller</a><br>
-          <a href="[% sizeurl %]&amp;width=[% width - 100 %]&amp;height=
-                   [% height %]">Thinner</a> * 
-          <a href="[% sizeurl %]&amp;width=[% width + 100 %]&amp;height=
-                   [% height %]">Fatter</a>&nbsp;&nbsp;&nbsp;&nbsp;<br>
-          <a href="[% sizeurl %]&amp;width=[% width %]&amp;height=
-                   [% height - 100 %]">Shorter</a><br>
-        </td>
-      [% END %]
-    </tr>
-  </table>
+  [% formats = [ { name => "pie",   description => "Pie" },
+                 { name => "bar",   description => "Bar" },
+                 { name => "line",  description => "Line" },
+                 { name => "table", description => "Table" } ] %]
+
+  [% formaturl = "report.cgi?$switchbase&amp;width=$width&amp;height=$height&amp;action=wrap" %]
+  [% FOREACH other_format = formats %]
+    [% NEXT IF other_format.name == "pie" AND row_field AND col_field %]
+    [% UNLESS other_format.name == format %]
+      <a href="[% formaturl %]&amp;format=[% other_format.name %]">
+    [% END %]
+    [% other_format.description FILTER html %]
+    [% "</a>" UNLESS other_format.name == format %] |
+  [% END %]
+  <a href="[% formaturl %]&amp;ctype=csv&amp;format=table">CSV</a>
 
   <table>
     <tr>
@@ -161,7 +127,7 @@
           Edit this report</a>
         [% END %]
       </td>
-      <td>&nbsp;</td>
+      <td>|</td>
       <td>
         [% IF saved_report_id %]
           <a href="report.cgi?action=del&amp;saved_report_id=[% saved_report_id FILTER uri %]&amp;token=