diff --git a/pyhsmm/util/plot.py b/pyhsmm/util/plot.py
index 98b7aa596c636de95aea9c9d4a8d054ff30d654c..47c12484b4877a3612d2baa196570887a26ce785 100644
--- a/pyhsmm/util/plot.py
+++ b/pyhsmm/util/plot.py
@@ -1,8 +1,7 @@
 from __future__ import division
 import numpy as np
 from matplotlib import pyplot as plt
-
-# TODO move pca to stats
+from stats import cov
 
 def plot_gaussian_2D(mu, lmbda, color='b', centermarker=True,label='',alpha=1.,ax=None,artists=None):
     '''
@@ -48,12 +47,12 @@ def pca_project_data(data,num_components=2):
 
 
 def pca(data,num_components=2):
-    U,s,Vh = np.linalg.svd(data - np.mean(data,axis=0))
+    U,s,Vh = np.linalg.svd(cov(data))
     return Vh.T[:,:num_components]
 
 
 def project_data(data,vecs):
-    return np.dot(data,vecs.T)
+    return np.dot(data,vecs)
 
 
 def project_ellipsoid(ellipsoid,vecs):