Index: src/xtalopt/structures/molecularxtal.cpp
===================================================================
--- src/xtalopt/structures/molecularxtal.cpp	(revision c74905146224aca2561021b2a62fd76b1a953c5f)
+++ src/xtalopt/structures/molecularxtal.cpp	(revision 06f244abd607a7c31b6ed64e2a2c378638e727d2)
@@ -17,4 +17,5 @@
 
 #include <xtalopt/structures/submolecule.h>
+#include <xtalopt/molecularxtaloptimizer.h>
 
 #include <globalsearch/macros.h>
@@ -35,5 +36,9 @@
 
   MolecularXtal::MolecularXtal(QObject *parent) :
-    Xtal(parent)
+    Xtal(parent),
+    m_preOptStepCount(0),
+    m_preOptStep(0),
+    m_needsPreOpt(false),
+    m_mxtalOpt(NULL)
   {
   }
@@ -389,4 +394,9 @@
     m_spgSymbol.remove(" ");
     return;
+  }
+
+  bool MolecularXtal::isPreoptimizing() const
+  {
+    return (m_mxtalOpt == NULL) ? false : m_mxtalOpt->isRunning();
   }
 
@@ -727,5 +737,11 @@
   }
 
-
+  void MolecularXtal::abortPreoptimization() const
+  {
+    if (m_mxtalOpt != NULL) {
+      m_mxtalOpt->abort();
+      m_mxtalOpt->waitForFinished();
+    }
+  }
 
 } // end namespace XtalOpt
