diff --git a/NAMESPACE b/NAMESPACE
index 5206eeab57ca1ef2958fb135685538b85d6f2de5..409693445639dcb980e0b0b3409c096388a2fe06 100644
--- a/NAMESPACE
+++ b/NAMESPACE
@@ -126,6 +126,7 @@ getMIPstartsCPLEX,
 getNumColsCPLEX,
 getNumMIPstartsCPLEX,
 getNumNnzCPLEX,
+getNumQConstrsCPLEX,
 getNumQuadCPLEX,
 getOrderCPLEX,
 getQConstrCPLEX,
diff --git a/R/cplexAPI.R b/R/cplexAPI.R
index 3a9cd8758d2bd91963d5253a6b34a2b8044179dc..848895df53f2fc35efb156465b35c0e29f51873a 100644
--- a/R/cplexAPI.R
+++ b/R/cplexAPI.R
@@ -3063,6 +3063,19 @@ readCopyOrderCPLEX <- function(env, lp, fname) {
 }
 
 
+
+
+#------------------------------------------------------------------------------#
+getNumQConstrsCPLEX <- function(env, lp) {
+
+    nq <- .Call("getNumQConstrs", PACKAGE = "cplexAPI",
+                cplexPointer(env),
+                cplexPointer(lp)
+          )
+
+    return(nq)
+}
+
 #------------------------------------------------------------------------------#
 
 addQConstrCPLEX <- function(env, lp, lzn, qzn, rhs, sense,
diff --git a/inst/NEWS.Rd b/inst/NEWS.Rd
index b5a0cd46f1bb81b50e6dd9dfe11931576adec5c4..4db336b4202d125bb9560328747671845cae908d 100644
--- a/inst/NEWS.Rd
+++ b/inst/NEWS.Rd
@@ -8,6 +8,8 @@
 \section{Changes in version 1.3.2 2016-11-16}{
   \itemize{
     \item Fixed a bug in \code{getQuad()}. Thx to Florian Schwendinger.
+    \item Added function \code{getNumQConstrsCPLEX} to access cplex function
+    	\code{CPXgetnumqconstrs}
   }
 }
 
diff --git a/inst/c2r.map b/inst/c2r.map
index bf4b0412483df2dd9e064ff10dadf5b45b7c4949..4dced44afd1f122a86eeb265b42960f75dd9da1c 100644
--- a/inst/c2r.map
+++ b/inst/c2r.map
@@ -95,6 +95,7 @@ CPXgetdj                     <- cplexAPI::getDjCPLEX
 CPXgeterrorstring            <- cplexAPI::getErrorStrCPLEX
 CPXgetgrad                   <- cplexAPI::getGradCPLEX
 CPXgetindconstr              <- cplexAPI::getIndConstrCPLEX
+CPXgetnumqconstrs            <- cplexAPI::getNumQConstrsCPLEX
 CPXinfodblparam              <- cplexAPI::getInfoDblParmCPLEX
 CPXinfointparam              <- cplexAPI::getInfoIntParmCPLEX
 CPXinfolongparam             <- cplexAPI::getInfoLongParmCPLEX
diff --git a/man/getNumQConstrsCPLEX.Rd b/man/getNumQConstrsCPLEX.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..da5c4563979ba2a70b3375c6722f0dcaf4815062
--- /dev/null
+++ b/man/getNumQConstrsCPLEX.Rd
@@ -0,0 +1,55 @@
+\name{getNumQConstrsCPLEX}
+\alias{getNumQConstrsCPLEX}
+\alias{CPXgetnumqconstrs}
+
+\title{
+  Return the Number of quadratic constraints.
+}
+
+\description{
+  Low level interface function to the IBM ILOG CPLEX function
+  \code{CPXgetnumqconstrs}.  Consult the IBM ILOG CPLEX documentation for more
+  detailed information.
+}
+
+\usage{
+  getNumQConstrsCPLEX(env, lp)
+}
+
+\arguments{
+  \item{env}{
+    An object of class \code{"\linkS4class{cplexPtr}"} as returned by
+    \code{\link{openEnvCPLEX}}. This is basically a pointer to an
+    IBM ILOG CPLEX environment.
+  }
+  \item{lp}{
+    An object of class \code{"\linkS4class{cplexPtr}"} as returned by
+    \code{\link{initProbCPLEX}}. This is basically a pointer to an
+    IBM ILOG CPLEX problem object.
+  }
+}
+
+\details{
+  Interface to the C function \code{getNumQConstrs} which calls the CPLEX
+  function \code{CPXgetnumqconstrs}.
+}
+
+\value{
+  If successful the number of quadratic constraints is returned. 
+  If \code{env} or \code{lp} do not exist, zero is
+  returned.
+}
+
+\references{
+  The IBM ILOG CPLEX home page at
+  \url{https://www.ibm.com/developerworks/university/academicinitiative/}.
+}
+
+\author{
+  Claus Jonathan Fritzemeier <clausjonathan.fritzemeier@uni-duesseldorf.de>
+
+  Maintainer: Claus Jonathan Fritzemeier <clausjonathan.fritzemeier@uni-duesseldorf.de>
+}
+
+
+\keyword{ optimize }
diff --git a/src/cplexAPI.c b/src/cplexAPI.c
index 496e5598e96916e4ef58aba8d11ae9ba5986d5d6..7228412f094579545ad39e2f1aaa9c22b7d03eee 100644
--- a/src/cplexAPI.c
+++ b/src/cplexAPI.c
@@ -6195,6 +6195,7 @@ SEXP ordWrite(SEXP env, SEXP lp, SEXP fname) {
 }
 
 
+
 /* -------------------------------------------------------------------------- */
 /* read ORD file and copy priority order information into a problem object */
 SEXP readCopyOrder(SEXP env, SEXP lp, SEXP fname) {
@@ -6218,6 +6219,24 @@ SEXP readCopyOrder(SEXP env, SEXP lp, SEXP fname) {
 }
 
 
+/* -------------------------------------------------------------------------- */
+/* get number of quadratic constraint of a specified CPLEX problem object */
+SEXP getNumQConstrs(SEXP env, SEXP lp) {
+
+    SEXP out = R_NilValue;
+    int qconstrs = 0;
+
+    checkEnv(env);
+    checkProb(lp);
+
+    qconstrs = CPXgetnumqconstrs(R_ExternalPtrAddr(env),
+    R_ExternalPtrAddr(lp));
+
+    out = Rf_ScalarInteger(qconstrs);
+
+    return out;
+}
+
 /* -------------------------------------------------------------------------- */
 /* add quadratic constraint to a specified CPLEX problem object */
 SEXP addQConstr(SEXP env, SEXP lp, SEXP lzn, SEXP qzn,
diff --git a/src/cplexAPI.h b/src/cplexAPI.h
index ccfd9cf67fbda638ba5f3b2acaff12415f3b9d1b..cb0d7747e35e6024b4d8031aa3c09293885994fc 100644
--- a/src/cplexAPI.h
+++ b/src/cplexAPI.h
@@ -678,6 +678,9 @@ SEXP ordWrite(SEXP env, SEXP lp, SEXP fname);
 /* read ORD file and copy priority order information into a problem object */
 SEXP readCopyOrder(SEXP env, SEXP lp, SEXP fname);
 
+/* get number of quadratic constraint of a specified CPLEX problem object */
+SEXP getNumQConstrs(SEXP env, SEXP lp);
+
 /* add quadratic constraint to a specified CPLEX problem object */
 SEXP addQConstr(SEXP env, SEXP lp, SEXP lzn, SEXP qzn,
                 SEXP rhs, SEXP sense,
diff --git a/src/init.c b/src/init.c
index daddb10fd58dee1b3151b91d51f8ca9d2817654e..e0c37eb2fa749df72269c3daac1fe2e8a9fb6013 100644
--- a/src/init.c
+++ b/src/init.c
@@ -220,6 +220,7 @@ static const R_CallMethodDef callMethods[] = {
     {"getOrder",                  (DL_FUNC) &getOrder,                  2},
     {"ordWrite",                  (DL_FUNC) &ordWrite,                  3},
     {"readCopyOrder",             (DL_FUNC) &readCopyOrder,             3},
+    {"getNumQConstrs",            (DL_FUNC) &getNumQConstrs,            2},
     {"addQConstr",                (DL_FUNC) &addQConstr,               12},
     {"delQConstrs",               (DL_FUNC) &delQConstrs,               4},
     {"getQConstr",                (DL_FUNC) &getQConstr,                3},