diff --git a/src/plugins/alias/tests/basic/oracle/pointer_call.res.oracle b/src/plugins/alias/tests/basic/oracle/pointer_call.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..581615710978a227011ea8d1382e5e1320d44c34
--- /dev/null
+++ b/src/plugins/alias/tests/basic/oracle/pointer_call.res.oracle
@@ -0,0 +1,54 @@
+[kernel] Parsing pointer_call.c (with preprocessing)
+[alias] analysing function: alias_xy
+[alias] analysing instruction: x = y;
+[alias] May-aliases after instruction  x = y;  are  { x; y }
+[alias] May-alias graph after instruction  x = y;  is    0:{ x; y } → 1:{  }
+[alias] May-aliases at the end of function alias_xy: { x; y }
+[alias] May-alias graph at the end of function alias_xy:
+  0:{ x; y } → 1:{  }
+[alias] Summary of function alias_xy:
+  formals: x  y  z    returns: <none>    state: { x; y }
+[alias] analysing function: alias_yz
+[alias] analysing instruction: y = z;
+[alias] May-aliases after instruction  y = z;  are  { y; z }
+[alias] May-alias graph after instruction  y = z;  is    4:{ y; z } → 5:{  }
+[alias] May-aliases at the end of function alias_yz: { y; z }
+[alias] May-alias graph at the end of function alias_yz:
+  4:{ y; z } → 5:{  }
+[alias] Summary of function alias_yz:
+  formals: x  y  z    returns: <none>    state: { y; z }
+[alias] analysing function: main
+[alias] analysing instruction: int *a = (int *)0;
+[alias] May-aliases after instruction  int *a = (int *)0;  are  <none>
+[alias] May-alias graph after instruction  int *a = (int *)0;  is    <empty>
+[alias] analysing instruction: int *b = (int *)0;
+[alias] May-aliases after instruction  int *b = (int *)0;  are  <none>
+[alias] May-alias graph after instruction  int *b = (int *)0;  is    <empty>
+[alias] analysing instruction: int *c = (int *)0;
+[alias] May-aliases after instruction  int *c = (int *)0;  are  <none>
+[alias] May-alias graph after instruction  int *c = (int *)0;  is    <empty>
+[alias] analysing instruction: p = & alias_xy;
+[alias] May-aliases after instruction  p = & alias_xy;  are  <none>
+[alias] May-alias graph after instruction  p = & alias_xy;  is
+  8:{ p } → 9:{ alias_xy }
+[alias] analysing instruction: p = & alias_yz;
+[alias] May-aliases after instruction  p = & alias_yz;  are  <none>
+[alias] May-alias graph after instruction  p = & alias_yz;  is
+  8:{ p } → 9:{ alias_xy; alias_yz }
+[alias] analysing instruction: (*p)(a,b,c);
+[alias:unsupported:fn] pointer_call.c:15: Warning: 
+  unsupported feature: call to function pointer: *p
+[alias:undefined:fn] pointer_call.c:15: Warning: function *p has no definition
+[alias] May-aliases after instruction  (*p)(a,b,c);  are  <none>
+[alias] May-alias graph after instruction  (*p)(a,b,c);  is
+  8:{ p } → 9:{ alias_xy; alias_yz }
+[alias] analysing instruction: __retres = 0;
+[alias] May-aliases after instruction  __retres = 0;  are  <none>
+[alias] May-alias graph after instruction  __retres = 0;  is
+  8:{ p } → 9:{ alias_xy; alias_yz }
+[alias] May-aliases at the end of function main: <none>
+[alias] May-alias graph at the end of function main:
+  8:{ p } → 9:{ alias_xy; alias_yz }
+[alias] Summary of function main:
+  formals:     returns: __retres    state: <none>
+[alias] Analysis complete
diff --git a/src/plugins/alias/tests/basic/pointer_call.c b/src/plugins/alias/tests/basic/pointer_call.c
new file mode 100644
index 0000000000000000000000000000000000000000..24d6059e5029a31a67afa2161bd898f63bf34fa7
--- /dev/null
+++ b/src/plugins/alias/tests/basic/pointer_call.c
@@ -0,0 +1,17 @@
+void alias_xy(int *x, int* y, int* z) {
+  x=y;
+}
+
+void alias_yz(int *x, int* y, int* z) {
+  y=z;
+}
+
+int main(void)
+{
+  int *a=0, *b=0, *c=0;
+  void (*p)(int* x, int* y, int* z);
+	p = &alias_xy;
+  p = &alias_yz;
+  (*p)(a,b,c);
+  return 0;
+}
diff --git a/src/plugins/alias/tests/unsupported/pointer_call.c b/src/plugins/alias/tests/unsupported/pointer_call.c
deleted file mode 100644
index 448ec0f752f68628673aafccdb70969d51f5a381..0000000000000000000000000000000000000000
--- a/src/plugins/alias/tests/unsupported/pointer_call.c
+++ /dev/null
@@ -1,8 +0,0 @@
-int f () {
-  return 0;
-}
-
-int main () {
-  int (*p)() = &f;
-  return ((*p)());
-}