diff --git a/DESCRIPTION b/DESCRIPTION
index 909d9451108adec5f71e76cea0f6bfe868f2a97d..7244fecb6297eb312f86671de22e4a5de2b29b93 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -1,8 +1,8 @@
 Package: cplexAPI
 Type: Package
 Title: R Interface to C API of IBM ILOG CPLEX
-Version: 1.3.2
-Date: 2016-11-16
+Version: 1.3.4
+Date: 2017-07-26
 Authors@R: c(person(c("C.", "Jonathan"), "Fritzemeier", role = c("cre", "ctb"), email = "clausjonathan.fritzemeier@uni-duesseldorf.de"),
 			 person("Gabriel", "Gelius-Dietrich", role = c("aut"), email = "geliudie@uni-duesseldorf.de"))
 Depends: R (>= 2.6.0)
@@ -18,4 +18,4 @@ Author: C. Jonathan Fritzemeier [cre, ctb], Gabriel Gelius-Dietrich [aut]
 Maintainer: C. Jonathan Fritzemeier <clausjonathan.fritzemeier@uni-duesseldorf.de>
 NeedsCompilation: yes
 Repository: CRAN
-Date/Publication: 2016-11-16 09:15:00
+Date/Publication: 2017-07-26 09:15:00
diff --git a/NAMESPACE b/NAMESPACE
index 409693445639dcb980e0b0b3409c096388a2fe06..55473c32d5442d40d515c64439e20f778b6e6911 100644
--- a/NAMESPACE
+++ b/NAMESPACE
@@ -22,7 +22,7 @@ export(
 "isNULLpointerCPLEX",
 "summary",
 ## function names
-addChannelCPLEX,
+#addChannelCPLEX,
 addColsCPLEX,
 addFpDestCPLEX,
 addIndConstrCPLEX,
@@ -67,7 +67,7 @@ copyPartBaseCPLEX,
 copyQPsepCPLEX,
 copyQuadCPLEX,
 copyStartCPLEX,
-delChannelCPLEX,
+#delChannelCPLEX,
 delColsCPLEX,
 delFpDestCPLEX,
 delIndConstrsCPLEX,
diff --git a/R/cplexAPI.R b/R/cplexAPI.R
index 848895df53f2fc35efb156465b35c0e29f51873a..774c0316c97b3cd32a2e3443f79c4a5f2f5958e0 100644
--- a/R/cplexAPI.R
+++ b/R/cplexAPI.R
@@ -2538,31 +2538,31 @@ flushStdChannelsCPLEX <- function(env) {
 
 #------------------------------------------------------------------------------#
 
-addChannelCPLEX <- function(env, ptrtype = "cplex_chan") {
+#addChannelCPLEX <- function(env, ptrtype = "cplex_chan") {
 
-    newch <- .Call("addChannel", PACKAGE = "cplexAPI",
-                   cplexPointer(env),
-                   as.character(ptrtype)
-              )
+#    newch <- .Call("addChannel", PACKAGE = "cplexAPI",
+#                   cplexPointer(env),
+#                   as.character(ptrtype)
+#              )
 
-    newchP <- cplex_ChannelPointer(newch)
+#    newchP <- cplex_ChannelPointer(newch)
 
-    return(newchP)
-}
+#    return(newchP)
+#}
 
 
 #------------------------------------------------------------------------------#
 
-delChannelCPLEX <- function(env, newch) {
+#delChannelCPLEX <- function(env, newch) {
 
-    invisible(
-        .Call("delChannel", PACKAGE = "cplexAPI",
-              cplexPointer(env),
-              cplexPointer(newch)
-        )
-    )
+#    invisible(
+#        .Call("delChannel", PACKAGE = "cplexAPI",
+#              cplexPointer(env),
+#              cplexPointer(newch)
+#        )
+#    )
 
-}
+#}
 
 
 #------------------------------------------------------------------------------#
diff --git a/inst/NEWS.Rd b/inst/NEWS.Rd
index 4db336b4202d125bb9560328747671845cae908d..76f361820e04ce9acc584b3d5daf2430e822ba42 100644
--- a/inst/NEWS.Rd
+++ b/inst/NEWS.Rd
@@ -3,6 +3,20 @@
 \name{NEWS}
 \title{cplexAPI News}
 \encoding{UTF-8}
+% ---------------------------------------------------------------------------- %
+
+\section{Changes in version 1.3.4 2017-07-26}{
+  \itemize{
+    \item The function \code{solution} should avoid returning the dual solution if solved \code{FIXEDMILP}, \code{MILP}, \code{QCP}, \code{MIQCP}, \code{MIQP}, and \code{FIXEDMIQP}.
+  }
+}
+
+\section{Changes in version 1.3.3 2017-01-18}{
+  \itemize{
+    \item In CPLEX Version 1270 are the functions \code{CPXaddchannel} and
+    	\code{CPXdelchannel} removed (\url{http://www.ibm.com/support/knowledgecenter/SSSA5P_12.7.0/ilog.odms.cplex.help/CPLEX/ReleaseNotes/topics/releasenotes127/removed.html}).
+  }
+}
 
 % ---------------------------------------------------------------------------- %
 \section{Changes in version 1.3.2 2016-11-16}{
diff --git a/inst/c2r.map b/inst/c2r.map
index 4dced44afd1f122a86eeb265b42960f75dd9da1c..304bae01f350b347c9048c832ea7db2a7f19529b 100644
--- a/inst/c2r.map
+++ b/inst/c2r.map
@@ -4,7 +4,7 @@
 
 # IBM ILOG CPLEX                # cplexAPI
 
-CPXaddchannel                <- cplexAPI::addChannelCPLEX
+#CPXaddchannel                <- cplexAPI::addChannelCPLEX
 CPXaddcols                   <- cplexAPI::addColsCPLEX
 CPXaddfpdest                 <- cplexAPI::addFpDestCPLEX
 CPXaddindconstr              <- cplexAPI::addIndConstrCPLEX
@@ -55,7 +55,7 @@ CPXcopypartialbase           <- cplexAPI::copyPartBaseCPLEX
 CPXcopyqpsep                 <- cplexAPI::copyQPsepCPLEX
 CPXcopyquad                  <- cplexAPI::copyQuadCPLEX
 CPXcopystart                 <- cplexAPI::copyStartCPLEX
-CPXdelchannel                <- cplexAPI::delChannelCPLEX
+#CPXdelchannel                <- cplexAPI::delChannelCPLEX
 CPXdelcols                   <- cplexAPI::delColsCPLEX
 CPXdelfpdest                 <- cplexAPI::delFpDestCPLEX
 CPXdelindconstrs             <- cplexAPI::delIndConstrsCPLEX
diff --git a/man/addChannelCPLEX.Rd b/man/addChannelCPLEX.Rd
deleted file mode 100644
index fb8adda32e74ce62b8fbe0820c9f44cfc656190f..0000000000000000000000000000000000000000
--- a/man/addChannelCPLEX.Rd
+++ /dev/null
@@ -1,60 +0,0 @@
-\name{addChannelCPLEX}
-\alias{addChannelCPLEX}
-\alias{CPXaddchannel}
-
-\title{
-  Instantiates a New Channel Object
-}
-
-\description{
-  Low level interface function to the IBM ILOG CPLEX function
-  \code{CPXaddchannel}.  Consult the IBM ILOG CPLEX documentation for more
-  detailed information.
-}
-
-\usage{
-  addChannelCPLEX(env, ptrtype = "cplex_chan")
-}
-
-\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{ptrtype}{
-    A name for the pointer object.
-  }
-}
-
-\details{
-  Interface to the C function \code{addChannel} which calls the CPLEX
-  function \code{CPXaddchannel}.
-}
-
-\value{
-  If successful, addChannelCPLEX returns a pointer to the new channel object
-  (an instance of class \code{"\linkS4class{cplexPtr}"}); otherwise, it returns
-  \code{NULL}.
-}
-
-\references{
-  The IBM ILOG CPLEX home page at
-  \url{https://www.ibm.com/developerworks/university/academicinitiative/}.
-}
-
-\author{
-  Gabriel Gelius-Dietrich <geliudie@uni-duesseldorf.de>
-
-  Maintainer: Claus Jonathan Fritzemeier <clausjonathan.fritzemeier@uni-duesseldorf.de>
-}
-
-
-\seealso{
-  \code{\link{delChannelCPLEX}}, \code{\link{disconnectChannelCPLEX}},
-  \code{\link{flushChannelCPLEX}}, \code{\link{flushStdChannelsCPLEX}},
-  \code{\link{getChannelsCPLEX}}
-}
-
-\keyword{ optimize }
-
diff --git a/man/addFpDestCPLEX.Rd b/man/addFpDestCPLEX.Rd
index 4ea97042858a54a60f1b92808bd907dfc458f4cd..810558f328fb60b2075907fb9f74c1d16d9b64f9 100644
--- a/man/addFpDestCPLEX.Rd
+++ b/man/addFpDestCPLEX.Rd
@@ -23,7 +23,7 @@
   }
   \item{newch}{
     Pointer to an IBM ILOG CPLEX channel as returned by
-    \code{\link{addChannelCPLEX}}.
+    \code{addChannelCPLEX}.
   }
   \item{cpfile}{
     Pointer to an IBM ILOG CPLEX file as returned by
diff --git a/man/delChannelCPLEX.Rd b/man/delChannelCPLEX.Rd
deleted file mode 100644
index 4e9a39af8656cadc76a0e89c8c48f42eafe15e53..0000000000000000000000000000000000000000
--- a/man/delChannelCPLEX.Rd
+++ /dev/null
@@ -1,57 +0,0 @@
-\name{delChannelCPLEX}
-\alias{delChannelCPLEX}
-\alias{CPXdelchannel}
-
-\title{
-  Flushes all Message Destinations for a Channel
-}
-\description{
-  Low level interface function to the IBM ILOG CPLEX function
-  \code{CPXdelchannel}.  Consult the IBM ILOG CPLEX documentation for more
-  detailed information.
-}
-\usage{
-  delChannelCPLEX(env, newch)
-}
-
-\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{newch}{
-    A pointer to the channel containing the message destinations as returned by
-    \code{\link{CPXaddchannel}}.
-  }
-}
-
-\details{
-  Interface to the C function \code{delChannel} which calls the CPLEX
-  function \code{CPXdelchannel}.
-}
-
-\value{
-  \code{NULL}
-}
-
-\references{
-  The IBM ILOG CPLEX home page at
-  \url{https://www.ibm.com/developerworks/university/academicinitiative/}.
-}
-
-\author{
-  Gabriel Gelius-Dietrich <geliudie@uni-duesseldorf.de>
-
-  Maintainer: Claus Jonathan Fritzemeier <clausjonathan.fritzemeier@uni-duesseldorf.de>
-}
-
-
-\seealso{
-  \code{\link{addChannelCPLEX}}, \code{\link{disconnectChannelCPLEX}},
-  \code{\link{flushChannelCPLEX}}, \code{\link{flushStdChannelsCPLEX}},
-  \code{\link{getChannelsCPLEX}}
-}
-
-\keyword{ optimize }
-
diff --git a/man/delFpDestCPLEX.Rd b/man/delFpDestCPLEX.Rd
index 67878d283a3936e910143a00e91f11cfcf06c1c3..de54e2809fddb37e3f695e42f402b5401d1c6473 100644
--- a/man/delFpDestCPLEX.Rd
+++ b/man/delFpDestCPLEX.Rd
@@ -24,7 +24,7 @@
   }
   \item{newch}{
     A pointer to the channel for which destinations are to be deleted as
-    returned by \code{\link{CPXaddchannel}}.
+    returned by \code{CPXaddchannel}.
   }
   \item{cpfile}{
     Pointer to an IBM ILOG CPLEX file as returned by
diff --git a/man/disconnectChannelCPLEX.Rd b/man/disconnectChannelCPLEX.Rd
index f78b4d6a2c205c3e44472099c17abeafdfa5291b..e4643245be7cf576d9fa52143e310a662448c628 100644
--- a/man/disconnectChannelCPLEX.Rd
+++ b/man/disconnectChannelCPLEX.Rd
@@ -24,7 +24,7 @@
   }
   \item{newch}{
     A pointer to the channel containing the message destinations as returned by
-    \code{\link{CPXaddchannel}}.
+    \code{CPXaddchannel}.
   }
 }
 
@@ -50,7 +50,6 @@
 
 
 \seealso{
-  \code{\link{addChannelCPLEX}}, \code{\link{delChannelCPLEX}},
   \code{\link{flushChannelCPLEX}}, \code{\link{flushStdChannelsCPLEX}},
   \code{\link{getChannelsCPLEX}}
 }
diff --git a/man/flushChannelCPLEX.Rd b/man/flushChannelCPLEX.Rd
index 7df38ed5dc6b8a6eeb1db6a45a5fef26e18a5941..7479d854b88be1f4c00c2ebe10a4720eb0617bc9 100644
--- a/man/flushChannelCPLEX.Rd
+++ b/man/flushChannelCPLEX.Rd
@@ -23,7 +23,7 @@
     IBM ILOG CPLEX environment.
   }
   \item{newch}{
-    Pointer to a channel object as returned by \code{\link{addChannelCPLEX}}.
+    Pointer to a channel object as returned by \code{addChannelCPLEX}.
   }
 }
 
@@ -49,7 +49,6 @@
 
 
 \seealso{
-  \code{\link{addChannelCPLEX}}, \code{\link{delChannelCPLEX}},
   \code{\link{disconnectChannelCPLEX}}, \code{\link{flushStdChannelsCPLEX}},
   \code{\link{getChannelsCPLEX}}
 }
diff --git a/man/flushStdChannelsCPLEX.Rd b/man/flushStdChannelsCPLEX.Rd
index 33e8b1b5c71d8ccbae9229649d20c6fc3d96f683..89259aeab4d38be16bdd2723859411b7a6b18beb 100644
--- a/man/flushStdChannelsCPLEX.Rd
+++ b/man/flushStdChannelsCPLEX.Rd
@@ -46,7 +46,6 @@
 
 
 \seealso{
-  \code{\link{addChannelCPLEX}}, \code{\link{delChannelCPLEX}},
   \code{\link{disconnectChannelCPLEX}}, \code{\link{flushChannelCPLEX}},
   \code{\link{getChannelsCPLEX}}
 }
diff --git a/man/getChannelsCPLEX.Rd b/man/getChannelsCPLEX.Rd
index 5dc19aae057d61f98e26a07fe6d4508bec6f8a80..5baa68135856499572c3f8ac61ee87dcdbffa647 100644
--- a/man/getChannelsCPLEX.Rd
+++ b/man/getChannelsCPLEX.Rd
@@ -55,7 +55,6 @@
 
 
 \seealso{
-  \code{\link{addChannelCPLEX}}, \code{\link{delChannelCPLEX}},
   \code{\link{disconnectChannelCPLEX}}, \code{\link{flushChannelCPLEX}},
   \code{\link{flushStdChannelsCPLEX}}
 }
diff --git a/src/cplexAPI.c b/src/cplexAPI.c
index 7228412f094579545ad39e2f1aaa9c22b7d03eee..fb398980905464ca89f896ee0f88dc9d1a6405e9 100644
--- a/src/cplexAPI.c
+++ b/src/cplexAPI.c
@@ -4425,6 +4425,7 @@ SEXP solution(SEXP env, SEXP lp) {
     }
 
     if (ptype == CPXPROB_MILP || ptype == CPXPROB_FIXEDMILP ||
+        ptype == CPXPROB_MIQP || ptype == CPXPROB_FIXEDMIQP ||
         ptype == CPXPROB_QCP  || ptype == CPXPROB_MIQCP) {
         nrch = 1;
         ncch = 1;
@@ -5186,7 +5187,7 @@ SEXP flushStdChannels(SEXP env) {
 
 /* -------------------------------------------------------------------------- */
 /* instantiate a new channel object */
-SEXP addChannel(SEXP env, SEXP ptrtype) {
+/*SEXP addChannel(SEXP env, SEXP ptrtype) {
 
     SEXP chout = R_NilValue;
     SEXP ptr, class;
@@ -5198,7 +5199,7 @@ SEXP addChannel(SEXP env, SEXP ptrtype) {
     newch = CPXaddchannel(R_ExternalPtrAddr(env));
 
     if (newch != NULL) {
-        /* create channel pointer */
+        /* create channel pointer *//*
         PROTECT(ptr = Rf_allocVector(STRSXP, 1));
         SET_STRING_ELT(ptr, 0, STRING_ELT(ptrtype, 0));
         
@@ -5216,12 +5217,12 @@ SEXP addChannel(SEXP env, SEXP ptrtype) {
     }
 
     return ptr;
-}
+}*/
 
 
 /* -------------------------------------------------------------------------- */
 /* flush all message destinations for a channel, ... */
-SEXP delChannel(SEXP env, SEXP newch) {
+/*SEXP delChannel(SEXP env, SEXP newch) {
 
     SEXP out = R_NilValue;
     CPXCHANNELptr delch = NULL;
@@ -5236,7 +5237,7 @@ SEXP delChannel(SEXP env, SEXP newch) {
     R_ClearExternalPtr(newch);
 
     return out;
-}
+}*/
 
 
 /* -------------------------------------------------------------------------- */
diff --git a/src/cplexAPI.h b/src/cplexAPI.h
index cb0d7747e35e6024b4d8031aa3c09293885994fc..fa75a0e451c3fcdcb0c479a23df284855859cb7e 100644
--- a/src/cplexAPI.h
+++ b/src/cplexAPI.h
@@ -571,10 +571,10 @@ SEXP getChannels(SEXP env, SEXP ptrtype);
 SEXP flushStdChannels(SEXP env);
 
 /* instantiate a new channel object */
-SEXP addChannel(SEXP env, SEXP ptrtype);
+//SEXP addChannel(SEXP env, SEXP ptrtype);
 
 /* flush all message destinations for a channel, ... */
-SEXP delChannel(SEXP env, SEXP newch);
+//SEXP delChannel(SEXP env, SEXP newch);
 
 /* flush all message destinations associated with a channel */
 SEXP disconnectChannel(SEXP env, SEXP newch);
diff --git a/src/init.c b/src/init.c
index e0c37eb2fa749df72269c3daac1fe2e8a9fb6013..5349d0a849417e056f021acdeaf184be14ce090b 100644
--- a/src/init.c
+++ b/src/init.c
@@ -189,8 +189,8 @@ static const R_CallMethodDef callMethods[] = {
     {"getLogFile",                (DL_FUNC) &getLogFile,                2},
     {"getChannels",               (DL_FUNC) &getChannels,               2},
     {"flushStdChannels",          (DL_FUNC) &flushStdChannels,          1},
-    {"addChannel",                (DL_FUNC) &addChannel,                2},
-    {"delChannel",                (DL_FUNC) &delChannel,                2},
+/*    {"addChannel",                (DL_FUNC) &addChannel,                2},*/
+/*    {"delChannel",                (DL_FUNC) &delChannel,                2},*/
     {"disconnectChannel",         (DL_FUNC) &disconnectChannel,         2},
     {"flushChannel",              (DL_FUNC) &flushChannel,              2},
     {"addFpDest",                 (DL_FUNC) &addFpDest,                 3},