diff --git a/compiler/cpp/src/parse/t_function.h b/compiler/cpp/src/parse/t_function.h
index 4cdd079..c437d0e 100644
--- a/compiler/cpp/src/parse/t_function.h
+++ b/compiler/cpp/src/parse/t_function.h
@@ -23,11 +23,11 @@
   t_function(t_type* returntype,
              std::string name,
              t_struct* arglist,
-             bool async=false) :
+             bool oneway=false) :
     returntype_(returntype),
     name_(name),
     arglist_(arglist),
-    async_(async) {
+    oneway_(oneway) {
     xceptions_ = new t_struct(NULL);
   }
 
@@ -35,14 +35,14 @@
              std::string name,
              t_struct* arglist,
              t_struct* xceptions,
-             bool async=false) :
+             bool oneway=false) :
     returntype_(returntype),
     name_(name),
     arglist_(arglist),
     xceptions_(xceptions),
-    async_(async)
+    oneway_(oneway)
   {
-    if (async_ && !xceptions_->get_members().empty()) {
+    if (oneway_ && !xceptions_->get_members().empty()) {
       throw std::string("Async methods can't throw exceptions.");
     }
   }
@@ -65,8 +65,8 @@
     return xceptions_;
   }
 
-  bool is_async() const {
-    return async_;
+  bool is_oneway() const {
+    return oneway_;
   }
 
  private:
@@ -74,7 +74,7 @@
   std::string name_;
   t_struct* arglist_;
   t_struct* xceptions_;
-  bool async_;
+  bool oneway_;
 };
 
 #endif
