--- sc/source/ui/dbgui/fieldwnd.cxx	2004-11-02 20:12:19.000000000 +0530
+++ sc/source/ui/dbgui/fieldwnd.cxx	2005-04-08 16:00:57.000000000 +0530
@@ -658,7 +658,7 @@
 
 void ScDPFieldWindow::ClearFields()
 {
-    if( eType == TYPE_SELECT )
+    if( eType == TYPE_SELECT || eType == TYPE_PAGE || eType == TYPE_COL || eType == TYPE_ROW || eType == TYPE_DATA)
 	{
         com::sun::star::uno::Reference < com::sun::star::accessibility::XAccessible > xTempAcc = xAccessible;
         if (!xTempAcc.is() && pAccessible)
--- sc/source/ui/dbgui/pvlaydlg.cxx	2005-03-24 17:17:41.000000000 +0530
+++ sc/source/ui/dbgui/pvlaydlg.cxx	2005-04-08 16:08:25.145231844 +0530
@@ -1568,6 +1567,13 @@
 			
 	aR = xDlgDPObject->GetSheetDesc()->aSourceRange;
 	
+	aLabelDataArr.clear();
+	aWndSelect.ClearFields();
+	aWndData.ClearFields();
+	aWndRow.ClearFields();
+	aWndCol.ClearFields();
+	aWndPage.ClearFields();
+	
 	USHORT i;
  	for ( i=0; i<MAX_LABELS; i++ )
 		aSelectArr[i].reset();
@@ -1577,12 +1583,11 @@
 		RemoveField (TYPE_COL, i);
 		RemoveField (TYPE_ROW, i);
 		RemoveField (TYPE_DATA, i);
-		RemoveField (TYPE_PAGE, i);
 	}
+	for ( i=0; i<MAX_PAGEFIELDS; i++ )
+		RemoveField (TYPE_PAGE, i);
 
-	aLabelDataArr.clear();
 	
-	aWndSelect.ClearFields();
 	
 	InitWndSelect( thePivotData.ppLabelArr, thePivotData.nLabels );
 	InitWnd( thePivotData.aColArr,  thePivotData.nColCount,  TYPE_COL );
