diff --git a/m4/ipopt.m4 b/m4/ipopt.m4
index 9cd7bd40cbdbbf4722bd0590b4dc693a4ec0b209..2e8b798766c4f748a8b1e7d23a46a436e18810fd 100644
--- a/m4/ipopt.m4
+++ b/m4/ipopt.m4
@@ -34,13 +34,16 @@ IPOPT_INCLUDE_PATH="$IPOPTROOT/include"
 LDFLAGS="$LDFLAGS -L$IPOPT_LIB_PATH"
 CPPFLAGS="$CPPFLAGS -I$IPOPT_INCLUDE_PATH"
 
-AC_LANG_PUSH([C++])
+# Check whether UG is installed at all
+if PKG_CONFIG_PATH=$PKG_CONFIG_PATH $PKG_CONFIG --exists ipopt; then
+    IPOPT_CPPFLAGS="-I$IPOPT_INCLUDE_PATH"
+    HAVE_IPOPT="1"
+else
+    AC_MSG_WARN([IPOpt not found in $IPOPT_ROOT])
+fi
 
-# check for header
-AC_CHECK_HEADER([coin/IpIpoptApplication.hpp], 
-   [IPOPT_CPPFLAGS="-I$IPOPT_INCLUDE_PATH"
-	HAVE_IPOPT="1"],
-  AC_MSG_WARN([IpIpoptApplication.hpp not found in $IPOPT_INCLUDE_PATH/coin]))
+
+AC_LANG_PUSH([C++])
 
 CPPFLAGS="$IPOPT_CPPFLAGS"