diff --git a/src/proxy/proxy.c b/src/proxy/proxy.c
index 31502a7..26fbd90 100644
--- a/src/proxy/proxy.c
+++ b/src/proxy/proxy.c
@@ -1016,13 +1016,18 @@ static int do_refine(struct csa *csa, glp_prob *lp_ref, int ncols,
 #ifdef PROXY_DEBUG
         xprintf("STATUS REFINING = %d\n",status);
 #endif
-        if (status == GLP_UNDEF) {
-            if (err == GLP_ETMLIM) {
+        /*
+         cmatraki: if glp_simplex() hits the time limit in phase I
+         the status is GLP_INFEAS while glp_intopt() may return
+         GLP_UNDEF. Found with "glpsol --fpump --proxy neos-13.mps"
+         */
+        if (status == GLP_UNDEF || status == GLP_INFEAS) {
 #ifdef PROXY_DEBUG
+            if (err == GLP_ETMLIM) {
                     xprintf("Time limit exceeded on Proxy refining.\n");
-#endif
-                return 1;
             }
+#endif
+            return 1;
         }
         for( j = 1 ; j < (ncols + 1); j++ ){
             if (ckind[j] != GLP_BV) {
