Index: sc/inc/global.hxx
===================================================================
RCS file: /cvs/sc/sc/inc/global.hxx,v
retrieving revision 1.43
diff -u -p -r1.43 global.hxx
--- sc/inc/global.hxx	8 Sep 2005 17:41:44 -0000	1.43
+++ sc/inc/global.hxx	9 Nov 2005 17:52:49 -0000
@@ -237,6 +237,7 @@ const BYTE   CR_MANUALSIZE  = 32;
 #define IDF_STYLES			0x0040
 #define IDF_OBJECTS			0x0080
 #define IDF_EDITATTR		0x0100
+#define IDF_SPECIAL_BOOLEAN		0x1000
 #define IDF_ATTRIB			( IDF_HARDATTR | IDF_STYLES )
 #define	IDF_CONTENTS		( IDF_VALUE | IDF_DATETIME | IDF_STRING | IDF_NOTE | IDF_FORMULA )
 #define IDF_ALL				( IDF_CONTENTS | IDF_ATTRIB | IDF_OBJECTS )
Index: sc/source/core/data/column3.cxx
===================================================================
RCS file: /cvs/sc/sc/source/core/data/column3.cxx,v
retrieving revision 1.18
diff -u -p -r1.18 column3.cxx
--- sc/source/core/data/column3.cxx	28 Sep 2005 11:29:59 -0000	1.18
+++ sc/source/core/data/column3.cxx	9 Nov 2005 17:53:11 -0000
@@ -828,7 +849,17 @@ ScBaseCell* ScColumn::CloneCell(SCSIZE n
 		case CELLTYPE_FORMULA:
 			{
 				ScFormulaCell* pForm = (ScFormulaCell*)pSource;
-				if (nFlags & IDF_FORMULA)
+				bool bForceFormula = false;
+				if ( nFlags & IDF_SPECIAL_BOOLEAN )
+				{
+					String aVal;
+					// #TODO #FIXME do we have a localisation issue here?
+					pForm->GetEnglishFormula( aVal );
+					if ( aVal.EqualsAscii("=TRUE()" )
+						|| aVal.EqualsAscii("=FALSE()") )
+						bForceFormula = true;	
+				}
+				if ( bForceFormula || (nFlags & IDF_FORMULA) )
 				{
 					pNew = pForm->Clone( pDestDoc, rDestPos, TRUE );
 				}
