diff --git a/releng.wtpbuilder/distribution/wtp.site/templateFiles/index.html.template.php b/releng.wtpbuilder/distribution/wtp.site/templateFiles/index.html.template.php
index 43c00fc..20c836f 100644
--- a/releng.wtpbuilder/distribution/wtp.site/templateFiles/index.html.template.php
+++ b/releng.wtpbuilder/distribution/wtp.site/templateFiles/index.html.template.php
@@ -190,10 +190,10 @@
 
 
 if (isset($incubating) && ($incubating == "true")) {
-echo '<title>WTP Incubator Downloads</title>';
+	echo '<title>WTP Incubator Downloads</title>';
 }
 else {
-echo '<title>WTP Downloads</title>';
+	echo '<title>WTP Downloads</title>';
 }
 
 ?>
@@ -261,16 +261,15 @@
 <table border=0 cellspacing=2 cellpadding=2 width="100%">
 	<tr>
 		<td align="left" valign="top" bgcolor="#0080C0"><font
-			face="'Bitstream Vera',Helvetica,Arial" color="#FFFFFF">Prerequisites 
-			and Handy Extras</font></td>
+			face="'Bitstream Vera',Helvetica,Arial" color="#FFFFFF">Prerequisites
+		and Handy Extras</font></td>
 	</tr>
 	<tr>
 		<td>
-		<p>These are the prerequisites to build or run these packages. All 
-		are not necessarily required, but instead some subset. Also
-		listed are some frequently needed links for committer-required
-		packages when creating new development environments, or targets to run
-		against.</p>
+		<p>These are the prerequisites to build or run these packages. All are
+		not necessarily required, but instead some subset. Also listed are
+		some frequently needed links for committer-required packages when
+		creating new development environments, or targets to run against.</p>
 		<p>Note that WTP requires Java 5 or higher (and, for some things,
 		actually requires a JDK rather than only a JRE) even though many other
 		<a href="http://www.eclipse.org/downloads/">Eclipse Projects</a> can
@@ -538,29 +537,6 @@
 
 
 			<tr>
-				<td align="left" valign="top" width="10%"><b>Web App Developers:</b></td>
-				<td align="left" valign="top">
-				<p>This non-SDK package is for most users. It includes the runnable
-				code and end-user documentation for those using the tools to develop
-				web applications. In particular, non-Java oriented Web Apps (such as
-				HTML, XML, CSS, etc).</p>
-				</td>
-				<?php
-
-				$zipfilename="wtp-wst-$build";
-
-				$filename=$zipfilename.".zip";
-				$zipfilesize=fileSizeForDisplay($filename);
-				$fileShortDescription="wst";
-				displayFileLine($downloadprefix, $filename, $zipfilesize, $fileShortDescription);
-
-				?>
-			</tr>
-
-			<tr>
-			
-			
-			<tr>
 				<td align="left" valign="top" width="10%"><b>Tool Developers:</b></td>
 
 				<td align="left" valign="top">
@@ -851,118 +827,124 @@
 		Platform zipped P2 repositories</font></td>
 	</tr>
 
-	<tr>
-		<td align="left" valign="top">
-		<p>These zips are a first-pass test of providing zipped P2
-		repositories of our deliverables. Comments welcome in <a
-			href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=265708">bug
-		265708</a></p>
-		</td>
-	</tr>
+
 	<tr>
 		<td>
 		<table border=0 cellspacing=2 cellpadding=2 width="40%" align="left">
 
 
-			<tr>
-
-			<?php
+		<?php
 
 
-			$zipfilename="repos/dali-buildrepo-$build";
+		$zipfilename="repos/dali-buildrepo-$build";
 
-			$filename=$zipfilename.".zip";
+		$filename=$zipfilename.".zip";
+		if (file_exists($filename)) {
+			echo "<tr>";
 			$zipfilesize=fileSizeForDisplay($filename);
 			$fileShortDescription="dali";
 			displayRepoFileLine($downloadprefix, $filename, $zipfilesize, $fileShortDescription);
 
-			echo "</tr><tr>";
+			echo "</tr>";
+		}
 
-			$zipfilename="repos/dali-sdk-buildrepo-$build";
+		$zipfilename="repos/dali-sdk-buildrepo-$build";
 
-			$filename=$zipfilename.".zip";
+		$filename=$zipfilename.".zip";
+			
+		if (file_exists($filename)) {
+			echo "<tr>";
 			$zipfilesize=fileSizeForDisplay($filename);
 			$fileShortDescription="dali-sdk";
 			displayRepoFileLine($downloadprefix, $filename, $zipfilesize, $fileShortDescription);
 
-			echo "</tr><tr>";
+			echo "</tr>";
+		}
+		$zipfilename="repos/dali.tests-buildrepo-$build";
 
-			$zipfilename="repos/dali.tests-buildrepo-$build";
-
-			$filename=$zipfilename.".zip";
+		$filename=$zipfilename.".zip";
+		if (file_exists($filename)) {
+			echo "<tr>";
 			$zipfilesize=fileSizeForDisplay($filename);
 			$fileShortDescription="dali.tests";
 			displayRepoFileLine($downloadprefix, $filename, $zipfilesize, $fileShortDescription);
 
-			echo "</tr><tr>";
+			echo "</tr>";
+		}
 
-			$zipfilename="repos/jst-buildrepo-$build";
+		$zipfilename="repos/jst-buildrepo-$build";
 
-			$filename=$zipfilename.".zip";
+		$filename=$zipfilename.".zip";
+		if (file_exists($filename)) {
 			$zipfilesize=fileSizeForDisplay($filename);
 			$fileShortDescription="jst";
 			displayRepoFileLine($downloadprefix, $filename, $zipfilesize, $fileShortDescription);
 
-			echo "</tr><tr>";
+			echo "</tr>";
+		}
+			
+		$zipfilename="repos/jst-sdk-buildrepo-$build";
 
-			$zipfilename="repos/jst-sdk-buildrepo-$build";
-
-			$filename=$zipfilename.".zip";
+		$filename=$zipfilename.".zip";
+		if (file_exists($filename)) {
 			$zipfilesize=fileSizeForDisplay($filename);
 			$fileShortDescription="jst-sdk";
 			displayRepoFileLine($downloadprefix, $filename, $zipfilesize, $fileShortDescription);
 
-			echo "</tr><tr>";
+			echo "</tr>";
+		}
+			
+		$zipfilename="repos/jst.tests-buildrepo-$build";
 
-			$zipfilename="repos/jst.tests-buildrepo-$build";
-
-			$filename=$zipfilename.".zip";
+		$filename=$zipfilename.".zip";
+		if (file_exists($filename)) {
 			$zipfilesize=fileSizeForDisplay($filename);
 			$fileShortDescription="jst.tests";
 			displayRepoFileLine($downloadprefix, $filename, $zipfilesize, $fileShortDescription);
 
-			echo "</tr><tr>";
+			echo "</tr>";
+		}
+			
+		$zipfilename="repos/wst-buildrepo-$build";
 
-			$zipfilename="repos/wst-buildrepo-$build";
-
-			$filename=$zipfilename.".zip";
+		$filename=$zipfilename.".zip";
+		if (file_exists($filename)) {
 			$zipfilesize=fileSizeForDisplay($filename);
 			$fileShortDescription="wst";
 			displayRepoFileLine($downloadprefix, $filename, $zipfilesize, $fileShortDescription);
 
-			echo "</tr><tr>";
+			echo "</tr>";
+		}
+			
+		$zipfilename="repos/wst-sdk-buildrepo-$build";
 
-			$zipfilename="repos/wst-sdk-buildrepo-$build";
-
-			$filename=$zipfilename.".zip";
+		$filename=$zipfilename.".zip";
+		if (file_exists($filename)) {
 			$zipfilesize=fileSizeForDisplay($filename);
 			$fileShortDescription="wst-sdk";
 			displayRepoFileLine($downloadprefix, $filename, $zipfilesize, $fileShortDescription);
 
-			echo "</tr><tr>";
+			echo "</tr>";
+		}
+			
+		$zipfilename="repos/wst.tests-buildrepo-$build";
 
-			$zipfilename="repos/wst.tests-buildrepo-$build";
-
-			$filename=$zipfilename.".zip";
+		$filename=$zipfilename.".zip";
+		if (file_exists($filename)) {
 			$zipfilesize=fileSizeForDisplay($filename);
 			$fileShortDescription="wst.tests";
 			displayRepoFileLine($downloadprefix, $filename, $zipfilesize, $fileShortDescription);
 
+			echo "</tr>";
+		}
 
-			?>
-			</tr>
+		?>
 		</table>
 	
 	</tr>
 </table>
 
-			<?php } ?>
-
-</table>
-</td>
-</tr>
-</table>
-
+		<?php } ?>
 
 
 <!-- footer -->
