diff --git a/compiler/cpp/src/generate/t_rb_generator.cc b/compiler/cpp/src/generate/t_rb_generator.cc
index 7433104..7672030 100644
--- a/compiler/cpp/src/generate/t_rb_generator.cc
+++ b/compiler/cpp/src/generate/t_rb_generator.cc
@@ -576,7 +576,7 @@
 
   if (tservice->get_extends() != NULL) {
     string extends = type_name(tservice->get_extends());
-    indent(f_service_) << "include " << extends  << ".Iface" << endl;
+    indent(f_service_) << "include " << extends  << "::Iface" << endl;
   }
 
   vector<t_function*> functions = tservice->get_functions();
@@ -600,7 +600,7 @@
   string extends_client = "";
   if (tservice->get_extends() != NULL) {
     extends = type_name(tservice->get_extends());
-    extends_client = " < " + extends + ".Client, ";
+    extends_client = " < " + extends + "::Client ";
   }
 
   indent(f_service_) <<
@@ -620,6 +620,9 @@
       indent() << "    @oprot = oprot" << endl <<
       indent() << "  end" << endl <<
       indent() << "  @seqid = 0" << endl;
+  } else {
+    f_service_ <<
+      indent() << "  super(iprot, oprot)" << endl;
   }
   indent(f_service_) << "end" << endl << endl;
 
@@ -763,7 +766,7 @@
   string extends_processor = "";
   if (tservice->get_extends() != NULL) {
     extends = type_name(tservice->get_extends());
-    extends_processor = " < " + extends + ".Processor, ";
+    extends_processor = " < " + extends + "::Processor ";
   }
 
   // Generate the header portion
@@ -783,6 +786,9 @@
     f_service_ <<
       indent() << "@handler = handler" << endl <<
       indent() << "@processMap = {}" << endl;
+  } else {
+    f_service_ <<
+      indent() << "super(handler)" << endl;
   }
   for (f_iter = functions.begin(); f_iter != functions.end(); ++f_iter) {
     f_service_ <<
@@ -998,7 +1004,7 @@
                                                   t_struct* tstruct,
                                                   string prefix) {
   out <<
-    indent() << prefix << " = " << type_name(tstruct) << "()" << endl <<
+    indent() << prefix << " = " << type_name(tstruct) << ".new()" << endl <<
     indent() << prefix << ".read(iprot)" << endl;
 }
 
diff --git a/compiler/cpp/src/main.cc b/compiler/cpp/src/main.cc
index 621116d..eb48cd0 100644
--- a/compiler/cpp/src/main.cc
+++ b/compiler/cpp/src/main.cc
@@ -291,8 +291,8 @@
   fprintf(stderr, "  -py         Generate Python output files\n");
   fprintf(stderr, "  -rb         Generate Ruby output files\n");
   fprintf(stderr, "  -xsd        Generate XSD output files\n");
-  fprintf(stderr, "  -I dir       Add a directory to the list of directories \n");
-  fprintf(stderr, "               searched for include directives\n");
+  fprintf(stderr, "  -I dir      Add a directory to the list of directories \n");
+  fprintf(stderr, "                searched for include directives\n");
   fprintf(stderr, "  -nowarn     Suppress all compiler warnings (BAD!)\n");
   fprintf(stderr, "  -strict     Strict compiler warnings on\n");
   fprintf(stderr, "  -v[erbose]  Verbose mode\n");
