diff --git a/tests/syntax/keep_logical_operators.i b/tests/syntax/keep_logical_operators.i
index dd05ac45a1b8248ca184a8f2f613b7cc86c17bd9..5f7901e2354bbae4862204d9d79ba3abc49e044d 100644
--- a/tests/syntax/keep_logical_operators.i
+++ b/tests/syntax/keep_logical_operators.i
@@ -9,3 +9,13 @@ int test(int a, int b, int c) {
   return 2;
 
 }
+
+int test_ptr(int* a, int* b, int* c) {
+  if (a && (b || c)) {
+    return 1;
+  }
+  if (a)
+    if (b)
+      return 2;
+  return 3;
+}
diff --git a/tests/syntax/oracle/keep_logical_operators.res.oracle b/tests/syntax/oracle/keep_logical_operators.res.oracle
index 99261e5e4c556aee8b36123f86d1860c3680b298..23aec58813484e7951b5fb638d01fdd41ce07c98 100644
--- a/tests/syntax/oracle/keep_logical_operators.res.oracle
+++ b/tests/syntax/oracle/keep_logical_operators.res.oracle
@@ -11,4 +11,20 @@ int test(int a, int b, int c)
   return_label: return __retres;
 }
 
+int test_ptr(int *a, int *b, int *c)
+{
+  int __retres;
+  if ((int)a && ((int)b || (int)c)) {
+    __retres = 1;
+    goto return_label;
+  }
+  if (a) 
+    if (b) {
+      __retres = 2;
+      goto return_label;
+    }
+  __retres = 3;
+  return_label: return __retres;
+}
+