diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/HTMLEditor.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/HTMLEditor.java
index 3dce643..1455573 100644
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/HTMLEditor.java
+++ b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/HTMLEditor.java
@@ -13,6 +13,8 @@
 
 import java.io.File;
 import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Iterator;
 import java.util.List;
 
 import org.eclipse.core.internal.resources.ResourceException;
@@ -127,6 +129,8 @@
 
 	private WindowsIEBrowser _browser;
 
+	private List PREVIEW_FILES_LIST = new ArrayList();
+
     // TODO:This class is never used locally
 //	private class TextInputListener implements ITextInputListener {
 //		public void inputDocumentAboutToBeChanged(IDocument oldInput,
@@ -402,6 +406,9 @@
 	}
 
 	public void dispose() {
+
+		deletePreviewFiles();
+
 		disconnectDesignPage();
 
 		IWorkbenchWindow window = getSite().getWorkbenchWindow();
@@ -914,6 +921,9 @@
 	 */
 	protected void pageChange(int newPageIndex) {
 		super.pageChange(newPageIndex);
+
+		deletePreviewFiles();
+
 		if (newPageIndex == _previewPageIndex) {
 			// preview page activate, need to regenerate the preview text and
 			// display it.
@@ -935,6 +945,7 @@
 			}
 			File file = PreviewUtil.toFile(result, getEditorInput());
 			if (file != null) {
+				PREVIEW_FILES_LIST.add(file);
 				_browser.loadFile(file);
 			} else {
 				_browser.getBrowser().setUrl("about:blank"); //$NON-NLS-1$
@@ -1007,4 +1018,16 @@
 		}
         return super.getPartName();
 	}
+
+	private void deletePreviewFiles() {
+		Iterator itPreviewFiles = PREVIEW_FILES_LIST.iterator();
+		while (itPreviewFiles.hasNext()) {
+			File file = (File)itPreviewFiles.next();
+			if (file != null && file.exists()) {
+				file.delete();
+			}
+		}
+		PREVIEW_FILES_LIST.clear();
+	}
+
 }
