diff --git a/core/textdocumentgenerator.cpp b/core/textdocumentgenerator.cpp
index 4863fc7..146580c 100644
--- a/core/textdocumentgenerator.cpp
+++ b/core/textdocumentgenerator.cpp
@@ -396,11 +396,10 @@ QImage TextDocumentGeneratorPrivate::image( PixmapRequest * request )
     p.translate( QPoint( 0, request->pageNumber() * size.height() * -1 ) );

 #ifdef OKULAR_TEXTDOCUMENT_THREADED_RENDERING
-    q->userMutex()->lock();
-    QTextDocument *cloned = mDocument->clone();
-    q->userMutex()->unlock();
-    cloned->drawContents( &p, rect);
-    delete cloned;
+    static QTextDocument *cloned(mDocument->clone());
+    //QElapsedTimer et; et.start();
+    cloned->drawContents( &p, rect );
+    //qDebug() << "drew in " << et.elapsed();
 #else
     mDocument->drawContents( &p, rect );
 #endif
