diff --git openads.module openads.module
index 50e3b86..5728dc9 100644
--- openads.module
+++ openads.module
@@ -579,13 +579,15 @@ function theme_openads_xmlrpc($zoneid) {
   if (!isset($OA_context)) {
     $OA_context = array();
   }
-  if (!$oaXmlRpc) {
+  if (!isset($oaXmlRpc)) {
     $xmlrpc_settings = _openads_get_xmlrpc_settings();
     $oaXmlRpc = _openads_connect_xmlrpc($xmlrpc_settings);
   }
-  $use_text = variable_get('openads_use_text_below_image', 0);
-  $ad = $oaXmlRpc->view('zone:'. $zoneid, 0, '', '', $use_text, $OA_context);
-  return $ad['html'];
+  if (isset($oaXmlRpc)) {
+    $use_text = variable_get('openads_use_text_below_image', 0);
+    $ad = $oaXmlRpc->view('zone:'. $zoneid, 0, '', '', $use_text, $OA_context);
+    return $ad['html'];
+  }
 }
 
 /* private functions */
@@ -607,9 +609,11 @@ function _openads_get_xmlrpc_settings() {
  * Connect to OpenX via XML-RPC
  */
 function _openads_connect_xmlrpc($xmlrpc_settings) {
-  require('openads-xmlrpc.inc.php');
-  $oaXmlRpc = new OA_XmlRpc($xmlrpc_settings['host'], '/'. $xmlrpc_settings['path'] .'/'. $xmlrpc_settings['file'], $xmlrpc_settings['port'], $xmlrpc_settings['ssl'], $xmlrpc_settings['timeout']);
-  return $oaXmlRpc;
+  include_once 'openads-xmlrpc.inc.php';
+
+  if (class_exists('OA_XmlRpc')) {
+    return new OA_XmlRpc($xmlrpc_settings['host'], '/'. $xmlrpc_settings['path'] .'/'. $xmlrpc_settings['file'], $xmlrpc_settings['port'], $xmlrpc_settings['ssl'], $xmlrpc_settings['timeout']);
+  }
 }
 
 /**
