2D Projectile angle problem with angle

I’m having a ‘quite’ troubling issue with my 2D topdown shooting game.

targetPosition is the target position (obviously)

The projectile is a simple sprite; but when firing
which fires in the x-y plane but the sprite is 90° rotated on the Y axis.
For now Bullet is a RigidBody (3D) not 2D

What am I doing wrong here ?

UPDATE: code

		/// <summary>
		/// Does the actual attack. 
		/// </summary>
		/// <param name="targetPosition">The position to attack.</param>
		public void Attack(Vector3 targetPosition)
		{
			GameObject.Instantiate(bullet, transform.position, Quaternion.LookRotation(targetPosition - transform.position));
			lastAttackTime = Time.time;
		}

Bullet Script

Using UnityEngine;


    public class Bullet : MonoBehaviour
    {
        // The speed of the bullet
        public float speed;
        // The amount of damage the bullet does
        public float damageAmount = 5;
        // Destroy itself after this amount of time
        public float selfDestructTime = 5;

        private Rigidbody m_Rigidbody;
        private Transform m_Transform;

        /// <summary>
        /// Cache the component references and initialize the default values.
        /// </summary>
        private void Awake()
        {
            m_Rigidbody = GetComponent<Rigidbody>();
            m_Transform = transform;
            Invoke("SelfDestruct", selfDestructTime);
        }

        /// <summary>
        /// Move in the forward direction.
        /// </summary>
        void Update()
		{
			m_Rigidbody.MovePosition( m_Rigidbody.position + speed * m_Transform.forward * Time.deltaTime);
        }

        /// <summary>
        /// Perform any damage to the collided object and destroy itself.
        /// </summary>
        /// <param name="collision"></param>
        private void OnCollisionEnter(Collision collision)
        {
            IDamageable damageable;
            if ((damageable = collision.gameObject.GetComponent(typeof(IDamageable)) as IDamageable) != null) {
                damageable.Damage(damageAmount);
                Destroy(gameObject);
            }
        }

        /// <summary>
        /// Destroy itself.
        /// </summary>
        private void SelfDestruct()
        {
            Destroy(gameObject);
        }
    }

I’m not sure why the object apparently instantiates in the wrong plane, but you can fix it by changing the y-angle in your call to Instantiate to 90f (or -90f).