diff --git a/bbb-common-web/src/main/java/org/bigbluebutton/presentation/imp/Office2PdfPageConverter.java b/bbb-common-web/src/main/java/org/bigbluebutton/presentation/imp/Office2PdfPageConverter.java
index c8ca293cfa9ed207921528622a2eac70e14f42aa..0253b9af729d7cdcc2074489f1f19dfdb4b064e0 100755
--- a/bbb-common-web/src/main/java/org/bigbluebutton/presentation/imp/Office2PdfPageConverter.java
+++ b/bbb-common-web/src/main/java/org/bigbluebutton/presentation/imp/Office2PdfPageConverter.java
@@ -59,18 +59,22 @@ public abstract class Office2PdfPageConverter {
 
       log.info(String.format("Calling conversion script %s.", presOfficeConversionExec));
 
-      NuProcessBuilder officeConverterExec = new NuProcessBuilder(Arrays.asList(presOfficeConversionExec, presentationFile.getAbsolutePath(), output.getAbsolutePath()));
+      NuProcessBuilder officeConverterExec = new NuProcessBuilder(Arrays.asList("timeout", conversionTimeout + "s", "/bin/sh", "-c",
+              "\""+presOfficeConversionExec + "\" \"" + presentationFile.getAbsolutePath() + "\" \"" + output.getAbsolutePath()+"\""));
       Office2PdfConverterHandler office2PdfConverterHandler  = new Office2PdfConverterHandler();
-
       officeConverterExec.setProcessListener(office2PdfConverterHandler);
 
       NuProcess process = officeConverterExec.start();
       try {
-        process.waitFor(conversionTimeout, TimeUnit.SECONDS);
+        process.waitFor(conversionTimeout + 1, TimeUnit.SECONDS);
       } catch (InterruptedException e) {
         log.error("InterruptedException while counting PDF pages {}", presentationFile.getName(), e);
       }
 
+      if(office2PdfConverterHandler.isCommandTimeout()) {
+        log.error("Command execution ({}) exceeded the {} secs timeout for {}.",presOfficeConversionExec, conversionTimeout, presentationFile.getName());
+      }
+
       if(!office2PdfConverterHandler.isCommandSuccessful()) {
         throw new Exception(String.format("Error while executing conversion script %s.", presOfficeConversionExec));
       }